これは複数の部分からなる質問であり、私はNodeの完全な初心者なので、優しくしてください:)
ルーティングを使用せずにindex.htmlを返す非常に単純なNode/expressアプリを設定しています...
var app = express();
var port = process.env.PORT || 1337;
app.use('/i', express.static(__dirname + '/i'));
app.use('/Stylesheets', express.static(__dirname + '/Stylesheets'));
app.use(express.static(__dirname));
app.listen(port);
console.log('listening on port ' + port);
index.htmlは静的ファイルとして提供されます。
私の次の仕事は、適切なルーティングで数ページを返すことです。ルートをroutes.jsファイルに入れ、そのファイルをserver.jsファイルに「要求」する必要があると考えていますが、できます。ルートの設定に頭を悩ませないでください。オンラインで表示されるすべての例/デモは、異なる方法で実行されているようです。これを行う方法の決定的な例は本当にありがたいです。
問題の次の部分は、動的ページを含めたいが、テンプレートエンジンをどこに使用すればよいかわからないことです。ブラウザーで表示したときに元のHTMLファイルが引き続き意味をなすように、「目立たない」ものを使用したいと思います。
フロントエンドでは、最初にセレクターを使用し、次に.html()メソッドを使用してHTMLをページに挿入するだけで、JSONデータをテンプレートにバインドし、それを見て適切な場所に挿入できます。クラス名などの場合。これはまったく目立たず、醜い{}ブラケット、インラインjavascript、またはディレクティブを必要としません。疑似コード...
var data = {"name":"John"};
var result = templateEngine.bind("/template.html", data)
$('.person').html(result);
そうすれば、次のように、元のHTMLをクリーンで表示可能な状態に保つことができます...
<div class="person">
My Name is FirstName
</div>
私が見つけることができる最も近いものはPURE(http://beebole.com/pure)ですが、NODEで(または互換性があるとしても)それを機能させる方法がわかりません。
さらに複雑にするために、使用するテンプレートエンジンはすべて、サブテンプレート(部分?)を使用できる必要があります。これにより、すべてのページで同じヘッダー/フッターなどを含めることができます。これは、必要に応じて各メインテンプレート内からサブテンプレートを参照することで再帰的に実行できると思いますか?
あなたがまだこれを読んでいるなら、明らかにあなたは私がここで新しい技術に悩まされていることを理解しているでしょう、そしてどんな助けも本当にありがたいです!