我遇到了Express v.4.14的问题。我的通配符路径似乎覆盖了我的静态中间件。这是代码:
const app = express()
const indexPath = path.join(__dirname, './index.html')
const publicPath = express.static(path.join(__dirname, './public'))
app.use('/public', publicPath)
app.get('/*', function(req, res) { res.sendFile(indexPath); });
return app
出于某种原因,对'/public/SomeExistingFile.js'的请求会返回'/index.html'。如果我删除了通配符(*),那么静态中间件不会被覆盖,但我不再匹配任意路由。
非常感谢任何帮助!
额外的上下文:我正在尝试使用Webpack为React,React Router和Redux提供单页Web应用程序。
答案 0 :(得分:-2)
您正在使用/ *,它仅将所有路由路由到该路由。所以你可以在/ *之前添加一些路径,比如mypath / *,这样它就不会覆盖你的静态路径