表达 js 并为视图提供静态文件
Express js and serving static files for views
我在我的项目中有几个观点,比方说:"view1"、"view2"、"view3"。
查看引擎是 "ejs"。对于这些视图,我有不同的 scripts/css 文件。我也有部分像:header.ejs 和 footer.ejs,我包括在视图顶部(页眉)和底部(页脚):
如图所示view1.ejs正在使用两个样式表(styleA,styleB)和脚本(scriptA,scriptB)。
当我要对这些静态文件使用另一个视图时,一切正常,因为我在视图中包含 header.ejs 和 footer.ejs。
但是由于我对另一个视图使用了不同的样式表和脚本,而且我不想包含 "styleA" 和 "styleB",所以我遇到了问题。我只想保留相同的部分页眉和页脚,但里面有另一个链接。
是否有任何 "Assets Manager" 或其他解决方案来管理所有这些链接?
当我想在 20 多页中使用 header.ejs 时,事情变得复杂,因为没有解决我的问题,我需要包括所有 links/styles,其中一些是不必要的。
在 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>
<% });%>
我在我的项目中有几个观点,比方说:"view1"、"view2"、"view3"。 查看引擎是 "ejs"。对于这些视图,我有不同的 scripts/css 文件。我也有部分像:header.ejs 和 footer.ejs,我包括在视图顶部(页眉)和底部(页脚):
如图所示view1.ejs正在使用两个样式表(styleA,styleB)和脚本(scriptA,scriptB)。
当我要对这些静态文件使用另一个视图时,一切正常,因为我在视图中包含 header.ejs 和 footer.ejs。
但是由于我对另一个视图使用了不同的样式表和脚本,而且我不想包含 "styleA" 和 "styleB",所以我遇到了问题。我只想保留相同的部分页眉和页脚,但里面有另一个链接。
是否有任何 "Assets Manager" 或其他解决方案来管理所有这些链接?
当我想在 20 多页中使用 header.ejs 时,事情变得复杂,因为没有解决我的问题,我需要包括所有 links/styles,其中一些是不必要的。
在 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>
<% });%>