Express がテンプレート ファイルをレンダリングできるようにするには、アプリケーションで次の設定を行う必要があります:
views、テンプレート ファイルが配置されるディレクトリ、例: app.set('views', './views')
ビュー エンジン、テンプレート エンジン、例: app.set('view Engine', 'jade')
次に、対応するテンプレート エンジンの npm パッケージをインストールします。
$ npm install jade --save
Jade など、Express と互換性のあるテンプレート エンジンは、res.render() 経由でエクスポートされたメソッド __express(filePath, options, callback) を呼び出すことでテンプレートをレンダリングします。
一部のテンプレート エンジンはこの規則に従っていません。Consolidate.js は、Node 内のすべての一般的なテンプレート エンジンをこの規則にマップできるため、Express とシームレスに接続できます。
ビュー エンジンが正常にセットアップされたら、エンジンを明示的に指定したり、アプリケーションにテンプレート エンジン モジュールをロードしたりする必要はありません。以下に示すように、Express はすでに内部的にロードされています。
app.set('view engine', 'jade');
次の内容を含む、index.jade という名前の Jade テンプレート ファイルをビュー ディレクトリに生成します。
html head title!= title body h1!= message
次に、ルート レンダリングの Index.jade ファイルを作成します。ビュー エンジンが設定されていない場合は、ビュー ファイルのサフィックスを指定する必要があります。指定しないと、指定できません。
app.get('/', function (req, res) { res.render('index', { title: 'Hey', message: 'Hello there!'}); });
この時点でホームページにリクエストを送信すると、「index.jade」が HTML としてレンダリングされます。