从任何路径路由到express,nodejs中的相同文件

时间:2017-04-13 17:10:21

标签: node.js express routing

我希望能够为/ stuff和/ stuff / foo等不同路径发送相同的文件,问题是当我尝试这样做时,我收到以下错误:

Refused to execute script from 'http://localhost:8000/stuff/main.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

以下是代码:

app.use("/", express.static(path.join(__dirname, "./../public")));
app.get("/stuff", sendIndexHTML);
app.get("/stuff/:id", sendIndexHTML);

function sendIndexHTML(req, res) {
    res.sendFile(path.join(__dirname + "./../public/index.html"));
}

1 个答案:

答案 0 :(得分:2)

您在main.js中引用index.html作为相对路径,以便从/stuff获取服务,该路径设置为返回{{ 1}}(其mime类型为index.html)。

您需要做的是更新html文件中的脚本文件路径。

变化

text/html

<script src="main.js"></script>

通过这种方式从配置为提供静态资产的根路径提供服务。