我关注了catch-all route handling advice here,现在这样做会破坏我在公共文件夹中使用express.static提供的其他静态资产的访问权限,例如bundle.js和我的css文件。我想知道如何解决这个问题。我在控制台中收到此错误
Uncaught SyntaxError: Unexpected token <
当我尝试从浏览器中打开localhost:3000/bundle.js
时,我只是被重定向到index.html,正如我想的那样。我的快递服务器设置如下:
我想知道当React路由器本身依赖于bundle.js
在使用webpack的环境中加载时,该网站上的建议如何被视为一种解决方案,这种做法太常见而无法解决。这种解决方法是否只为我的所有静态资产制作单独的路线?我认为那不是那么可扩展的,特别是如果我有数百张我要服务的图像。感谢。
const express = require("express");
const path = require("path");
const app = express();
app.get("/*", (req, res) => {
res.sendFile(path.join(__dirname, "../public/index.html"), err => {
if (err) res.status(500).send(err);
});
});
app.use(express.static("public"));
app.listen(8080, _ => console.log("listening on 8080"));
答案 0 :(得分:0)
您需要将app.use(express.static("public"));
放在全部路线上方。