StrongLoop が提供する Express と Node.js に関する研修

StrongLoop / IBMによって提供されるこの翻訳.

本書は、英語の資料と比較すると古くなっている可能性があります。最新の更新については、英語版の資料を参照してください。

Express でのテンプレート・エンジンの使用

Express でテンプレート・ファイルをレンダリングするには、その前に以下のアプリケーション設定を設定する必要があります。

次に、対応するテンプレート・エンジンの npm パッケージをインストールします。


$ npm install jade --save

Jade などの Express 対応テンプレート・エンジンは、__express(filePath, options, callback) という関数をエクスポートします。この関数は、テンプレート・コードをレンダリングするために res.render() 関数によって呼び出されます。 一部のテンプレート・エンジンは、この規則に従いません。Consolidate.js ライブラリーは、すべての一般的な Node.js テンプレート・エンジンをマップすることで、この規則に従います。そのため、Express 内でシームレスに動作します。

ビュー・エンジンが設定された後は、アプリケーションでエンジンを指定したり、テンプレート・エンジンをロードしたりする必要はありません。(上記の例に対応した) 下記のように、Express がモジュールを内部的にロードします。


app.set('view engine', 'jade');

以下の内容で index.jade という Jade テンプレート・ファイルを views ディレクトリーに作成します。


html
  head
    title!= title
  body
    h1!= message

次に、index.jade ファイルをレンダリングするためのルートを作成します。view engine プロパティーが設定されていない場合は、view ファイルの拡張子を指定する必要があります。そうでない場合は、省略できます。


app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
});

ホーム・ページに要求すると、index.jade ファイルは HTML としてレンダリングされます。

Express でのテンプレート・エンジンの動作について詳しくは、Express 用のテンプレート・エンジンの開発を参照してください。