我的项目中有几个视图让我们说:“view1”,“view2”,“view3”。 查看引擎是“ejs”。对于那些视图,我有不同的脚本/ css文件。我也有部分:header.ejs和footer.ejs,我包括在视图(标题)和底部(页脚)的顶部:
如图所示,view1.ejs使用两个样式表(styleA,styleB)和脚本(scriptA,scriptB)。
当我要使用那些静态文件的另一个视图时,一切都很好,因为我在视图中包含了header.ejs和footer.ejs。
但是因为我在另一个视图中使用不同的样式表和脚本,并且我不想包含“styleA”和“styleB”,所以我遇到了问题。我只想保留相同的部分页眉和页脚,但内部有其他链接。
是否有“资产经理”或其他解决方案来管理所有这些链接?
当我想在超过20页的时候使用header.ejs时,事情会变得复杂,因为如果没有解决我的问题,我需要包含所有链接/样式,其中一些不是必需的。
答案 0 :(得分:2)
在express中,您可以将样式和脚本作为数组传递以呈现您的ejs模板:
app.get('/', function (req, res) {
res.render('index', { styles: ['styleA.css', 'styleB.css'], scripts: ['scriptA.js', 'scriptB.js']});
});
现在更新您的ejs模板。首先是样式部分:
<% styles.forEach(function(sty){ %>
<link href="<%- sty %>" rel="stylesheet">
<% });%>
然后,脚本部分:
<% scripts.forEach(function(scr){ %>
<script src="<%- scr %>"></script>
<% });%>