0

現在、ASP.NETアプリケーションがあり、aspxファイル内のさまざまなポイントで、標準のテンプレートHTMLを挿入する関数を呼び出しています。例えば:

<html>
<head>
</head>
<body>
<%=SectionHeader('Section title 1') %>
some content for section 1
<%=SectionHeader('Section title 2') %>
some content for section 2
</body>
</html>

したがって、SectionHeader関数が呼び出されると、渡されたパラメーターが読み取られ、{title}などのセクションヘッダーのHTMLが挿入されます。私はNodeで同じことを達成する方法を理解しようとしています。

基本的なトークン置換の方法を理解しています。静的HTMLファイルを読み取り、トークン({token1}など)を探して、それを何かに置き換えます。しかし、正規表現と複雑な文字列操作を使用する以外に、ASP.NETで行っているのと同じことをノードで実行する方法はありますか?

4

2 に答える 2

0

ノード用のテンプレートエンジンはたくさんあります。おそらく、これらの1つを試してみてください。Webアプリケーションフレームワークを検索している場合は、多くのテンプレート作成をサポートしているExpressが出発点として適しています

もちろん、文字列の置換だけを行うこともできますが、テンプレートエンジンはさらに多くの機能を提供します。

于 2013-03-17T20:20:14.790 に答える
0

生成されたアプリケーションスケルトンを取得し、とを変更しindex.jsindex.jade関数をテンプレートに渡しました。私はあなたが求めているものだと思いますが、これがテンプレートをロジックに呼び戻すための優れたアーキテクチャであるかどうかについて意見があるかもしれません。

index.js

exports.index = function(req, res){
  var fn = function(initial) {
      return initial + ". Tester";
  };
  res.render('index', { title: 'Express', fn : fn });
};

index.jade

block content
  h1= title
  p Welcome to #{title}

  div Hello #{fn('A')}

さて、ロードするhttp://localhost:3000/と、これが画面に表示されます。「A」が関数に渡され、出力用の文字列「A.Tester」が生成されていることに注意してください。


特急

Expressへようこそ

こんにちはA.テスター

于 2013-03-17T20:46:47.717 に答える