将JS脚本移动到Node.js中的外部文件'快递服务Html页面

时间:2017-12-27 05:56:01

标签: javascript node.js express

我使用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>

但这似乎不是处理这种/容易发生安全漏洞的正确方法......

谢谢

1 个答案:

答案 0 :(得分:1)

默认情况下,Express不会提供静态文件(JavaScript,CSS和图像)。您需要使用app.use('/', express.static(path.join(__dirname, 'views')))中间件明确告知Express应该从文件系统中提供哪些文件夹。

示例:

http://localhost:3000/indexScripts.js

然后,您可以导航到static

来获取脚本文件

您可以详细了解{{1}}中间件here