如何从Express路由提供脚本文件

时间:2018-05-14 13:08:47

标签: javascript node.js api express

我有一个js脚本,我希望在我的html文件中包含在src属性中。当我从本地路径直接添加脚本时,它正在工作。

是否可以从快速路由返回文件路径并将该路由用作我的html中src的值?这就是我想在html

中包含我的快递路线的方法
window.requestAnimationFrame(function(){rCopy(document.getElementById("current-1"),document.getElementById("next-1"))})

Express服务器正在端口2222上运行,并且有一些api。现在在我的快递路线/小部件

<script src="http://localhost:2222/widget" type="text/javascript"></script>

当我只是触发localhost:2222 / widget时,从/ home /...

开始显示正确的路径

我需要一些机制来将这个js文件路径用作src(如上所示)。

注意:我已添加所有cors,header等用于访问控制。

1 个答案:

答案 0 :(得分:2)

使用res.sendFile()发送文件而不是路径:

  

转移给定path的文件。根据文件名的扩展名设置Content-Type响应HTTP标头字段。除非在options对象中设置了root选项,否则path必须是文件的绝对路径。

因此,您的代码变为:

app.get("/widget", (req, res) => {
     res.sendFile(path.join(__dirname, "/src/client/public/bundle.js"), err => console.log(err));
});

由于您使用的是path.join(),因此可以用逗号分隔__dirname和相对路径。