3

node.jsと Express には非常に多くのテンプレート エンジンがあり、この詳細な比較もあります。それらのどれが私のニーズに最も適しているかを実験するのに数時間を費やしました。

どのフレームワークが最適かについて、すでにいくつかの質問があることは知っていますが、ヘルパーを使用する可能性に焦点を当てたものはありません。フォーム ヘルパー (オブジェクトを渡すと、入力タグとその値をレンダリングする必要があります) をすべて一緒に構築しようとしましたが、それを達成する簡単な方法が見つかりませんでした。

ヘルパーを使用できる推奨モジュールはありますか? たぶん、mustache.js を使用することさえありますか? 前もって感謝します!

4

1 に答える 1

0

あなたが探している比較を示すことはできませんが、私が調べたほとんどすべてのテンプレート エンジンには、ヘルパーの機能がありました。

Express(質問で言及)を使用している場合は、使用しているテンプレートエンジンに公開するヘルパーをExpressに伝えることができます(「ビューエンジン」アプリ変数を介して設定)-Expressの次のセクションを参照してください詳細のガイド:

  • ビュー レンダリング - 特定のテンプレート エンジンを使用するように Express を構成する方法について説明します。この例は、デフォルトで Express とともにインストールされ、ヘルパーをサポートする Jade を参照しています。
  • Server.helpers() - テンプレートに渡される静的ビュー ヘルパーを登録する方法
  • Server.dynamicHelpers() Request オブジェクトと Response オブジェクトにアクセスできるヘルパーを登録する方法

一部のテンプレート エンジンには、Express ビルトインのサポートが付属していますが、追加の構成手順が必要になる場合があります。私は、Coffeescript でビューを記述できる CoffeeKup (および、より更新されたフォークの coffeecup) に傾倒しています。自動コンパイルを有効にするには、Express サーバー オブジェクトへの追加の呼び出しが必要です (ドキュメントで説明されています)。

app.register('.coffee', coffeecup.adapters.express);

他の人が追加のノード パッケージを提供している場合があります。参考になるかもしれませんnpm search express-。たとえば、express-handlebarsは具体的に修正しapp.helpers()app.dynamicHelpers()ハンドルバーで動作します。(免責事項:私はこのモジュールを個人的に使用していません)。

于 2012-04-30T15:41:00.363 に答える