私は口ひげを扱っていますが、私と同様の戦略を使用できると思います.私が使用するほとんどの口ひげテンプレートには、共通のヘッダーとフッターセクションがあります.スクリプトとcssファイルに加えて.別のパーシャルファイルを作成しました.これらの部分ファイルをエクスポートします。たとえば、私の部分ファイルは次のようになります。
exports.partials = function (isAuthenticated)
{
var menu;
isAuthenticated ?
menu = {
header: '',
footer: ' '
} :
menu = {
header: '',
footer: ''
}
return menu;
};
exports.staticResources = {
bootstrap :'//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css',
fonts : '//netdna.bootstrapcdn.com/font-awesome/3.0/css/font-awesome.css',
jquery : '//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'
};
名前が示すように、テンプレートのパーシャルを生成する generatePartials という別のメソッドがあります
exports.generatePartials = function(isAuthenticated){
var menu = resources.partials(isAuthenticated);
var partials = {
header : menu.header,
footer : menu.footer,
bootstrap : resources.staticResources.bootstrap,
fonts :resources.staticResources.fonts,
jquery :resources.staticResources.jquery,
};
return partials;
};
テンプレートをレンダリングしている間、私がしなければならないのはこれだけです
app.get('/routeName',function (req, res){
var partials = require('../helpers').generatePartials(req.isAuthenticated());
return res.render('viewName.html', partials);
};
以上です。