我使用express返回一些html页面:
app.get('/', function(req, res){
return res.sendFile(path.resolve(__dirname + '/views/index.html'));
});
index.html
包含标记<script></script>
中的一堆脚本。
我想将它移动到这样的外部文件:
<script src="./indexScripts.js"></script>
然而,它不起作用并返回以下错误:
获取http://.../indexScripts.js net :: ERR_ABORTED
获取http://.../indexScripts.js 404(未找到)
你对我该做什么有任何线索吗?
我找到的解决方案是公开脚本:
app.get('/scripts', function(req, res){
return res.sendFile(path.resolve(__dirname + '/views/indexScripts.js'));
});
...然后使用它:
<script src="scripts"></script>
但这似乎不是处理这种/容易发生安全漏洞的正确方法......
谢谢
答案 0 :(得分:1)
默认情况下,Express不会提供静态文件(JavaScript,CSS和图像)。您需要使用app.use('/', express.static(path.join(__dirname, 'views')))
中间件明确告知Express应该从文件系统中提供哪些文件夹。
示例:
http://localhost:3000/indexScripts.js
然后,您可以导航到static
。
您可以详细了解{{1}}中间件here。