我有一个javascript文件,其前端逻辑代码超过200行,就像有人点击按钮,图像等游戏一样。
我无法弄清楚这一点。如何链接/包含,告诉expressjs将该文件用于前端逻辑而不仅仅依赖.ejs文件?
我不是要求module.exports从文件中导出特定部分。我希望导出整个文件。
请帮忙。
答案 0 :(得分:0)
首先,您应该告诉您的静态文件所在的位置:
app.use(express.static(path.join(__dirname, 'yourFolder')));
然后在您渲染视图的路线中,您可以执行以下操作:
return res.render("yourView",{
param1: param1,
scripts: [
'javascripts/yourFile.js'
]
});
'脚本'在ejs文件中无法访问数组。在footer.ejs中你可以这样做:
<% if ( typeof scripts !== 'undefined') { %>
<% scripts.forEach(function(script){ %>
<script src="/<%- script %>"></script>
<% }); %>
<% } %>
答案 1 :(得分:0)
您还可以将文件中的<script>
行更改为指向以下路径:
<script src="/filejs"></script>
然后在app.js
中使用以下代码添加另一个名为/filejs
的端点:
app.get('/filejs', function(req, res) {
res.sendFile(__dirname + '/folder/file.js') //change this to your file path
})