最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

将JS脚本移动到Node.js中的外部文件中,表达了Html页面

IT培训 admin 8浏览 0评论

将JS脚本移动到Node.js中的外部文件中,表达了Html页面

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

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

谢谢

回答如下:

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

例:

app.use('/', express.static(path.join(__dirname, 'views')))

然后,您可以通过导航到http://localhost:3000/indexScripts.js来获取脚本文件。

你可以阅读更多关于static中间件here的信息。

将JS脚本移动到Node.js中的外部文件中,表达了Html页面

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

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

谢谢

回答如下:

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

例:

app.use('/', express.static(path.join(__dirname, 'views')))

然后,您可以通过导航到http://localhost:3000/indexScripts.js来获取脚本文件。

你可以阅读更多关于static中间件here的信息。

发布评论

评论列表 (0)

  1. 暂无评论