2017-03-05 5 views
1

私はノード/エクスプレッション(PHPから来たもの)を初めて使いました。ノードでもっと簡単にできると思う非常に簡単なことをするつもりです。テンプレートを使用して変数を補間するにはどうすればよいですか?

たとえば、PHPでindex.phpファイルを持っていれば、できます。

<php echo "$var">私の "index.php"ファイル内の変数は、拡張子にもかかわらずほとんどHTMLで構成されています。

私は、これは存在しません知っているが、なぜない

<js-engine output "var">

に似たものをここではPHPと同等です。

<!DOCTYPE html> 
    <html> 
    <base href=<?php echo $dir_base;?> target="_blank"> 
    <head> 

テンプレートを使用してノード環境でこの同じ効果を達成する方法を教えてください。私はテンプレートの複雑さを必要とせず、技術的にはこれは繰り返されないテンプレートではありません。 HTMLで使用するために補間された単純な変数です。私はこのtuts+ tutを無駄にしようとしました。私はこれが唯一の方法だと思っています。

私のファイルは主にHTMLであり、私は以下のコードを使用して送信しています。 ファイル自体に変数を設定する必要があります。あなたは、文字列を組み合わせることができ、テンプレートなし

app.get('/', function(req, res) { 
    res.sendfile(path_index_resolved); 
}); 
+0

テンプレートを使用するか、文字列を組み合わせてフロントエンドに戻す前に... – Myonara

+1

「バックエンドに送る前に」文字列を結合するにはどうすればよいですか? –

答えて

0

var myText = '<!DOCTYPE html>'; 
myText += '<html><base href="'+link+'"> target="_blank"><head>'; 
// and so on 
res.send(myText); 

は、しかし、私はテンプレートやNode.jsのとangular2のようなフロントエンドを使用してのいずれか好む...の表情を取ることtemplates in expressやりがいがあります。それ。

+0

私の質問が更新されました。私はHTMLでいっぱいのファイルを持っていて、いくつかの部分変数を作るだけです。ありがとう。 –

+0

私は自分の答えを更新しました。テンプレートのドキュメントを見てください。 – Myonara

0

残念ながら、PHPのようにNode.jsを使用することはできません。変数を手動で渡す必要があります(補間された値でHTMLに文字列としてHTMLを提供する)か、何らかの種類のテンプレートエンジンを使用する必要があります。

テンプレートエンジンソリューションを選択する場合は、たとえばPug,MustacheおよびEJSを使用できます。

関連する問題