現在、Node.js の Express フレームワークを使用していますが、ページ (ルート) ごとにスタイルシートと JavaScript ファイルを含めるのに問題があります。次の内容のroutes/index.jsファイルを使用して、デフォルトの Express セットアップを使用しています。
exports.index = function(req, res){
res.render('index', { title: 'Index Page Test' })
};
exports.browse = function(req, res){
res.render('browse', { title: 'Browse Page Test' })
};
上記のルートは正常に機能し、index.jade と browse.jade を layout.jade の「本体」に期待どおりにロードします。ただし、index ルートが必要とするアセット (CSS および JS ファイル) は、browse ルートが必要とするものと同じではありません。必要なアセットを含む layout.jade テンプレートに配列を渡して、単純にループさせることはできますか?
私は上記のことを次の方法で実行しようとしました:
Index.js (ルート)
scripts: [
'javascripts/jquery.js',
'javascripts/easel.js',
'javascripts/script.js'
]
に続く:
Layout.jade
each js in scripts
script(src= js)
ただし、 「スクリプトが定義されていません」というエラーがスローされるだけです。 私はこれを正しく行っていないと確信しています。また、追加するために、ここで別の同様の StackOverflow の質問に出くわしました: Node.js with Express: Importing client-side javascript using script tags in Jade views? しかし、そこに示されている方法にはあまり熱心ではありません (追加のヘルパーが必要です)。できれば、テンプレートエンジン自体が提供する機能にこだわりたい。
ありがとう。
編集:それが役立つ場合、私はこれに似た何かを達成しようとしています: http://kerkness.ca/kowiki/doku.php?id=template-site:create_the_template