使用此线程的解决方案,我已经完成了相同的 *** 作:
http://groups.google.com/group/express-
js/browse_thread/thread/8c2006dc7bab37b1/f9a273c836e0a2ac
您可以在视图选项中声明一个“脚本”变量:
app.js:
app.set('view options', { locals: { scripts: ['jquery.js'] } }); // You can declare the scripts that you will need to render in EVERY page
比起拥有一个可以将脚本标签呈现到版面标题中的助手来说,
renderscriptTags()辅助代码:
app.helpers({ renderscriptTags: function(scripts) { return scripts.map(function(script) { return '<script src="scripts/' + script + '"></script>'; }).join('n ');
在头部分的布局模板中,您将具有:
- renderscriptTags(scripts)
现在,要在head标签上添加脚本,只需要将脚本推入玉内容模板(body模板)上的“ scripts”变量中即可:
- scripts.push('myscript.js');
这样,页面会将jquery.js和myscript.js呈现到页面的顶部
更新
似乎最新的快速版本以不同的方式处理本地人,要使其正常工作,您可以执行此 *** 作(虽然我不确定这是否是最佳解决方案,但我需要对此进行一点研究)
您可以像以前一样在布局模板中使用前一种方法的 renderscriptTags() 帮助器。
但是不要将scripts变量设置为locals,而是创建一个动态帮助程序,该 脚本 将使 scripts 变量在我们的模板中可用:
app.dynamicHelpers({ scripts: function(req, res){ return ['jquery.js']; //this will be available in all views }});
然后,从您的正文模板添加一个特定的脚本(与之前完全一样):
- scripts.push('myscript.js');
现在,对于此特定视图,应该正确呈现jquery.js和myscript.js
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)