我使用webpack dev服务器来运行本地Web服务器。Webapck服务器的路由无法获取/ page
当我使用浏览器输入网址/localhost:8080/sign_in
,我得到了错误。
无法获取/ sign_in
我在webpack.config.js
添加对象historyApiFallback: true
,并得到解决。
devServer: {
inline: true,
port: 8080,
historyApiFallback: true,
headers:{
'Access-Control-Allow-Origin': '*',
"Access-Control-Allow-Methods": "POST, GET, OPTIONS"
}
}
但是,当我编译webpack -p
和运行node server.js
再次发生同样的错误。
其次server.js
代码
const express = require('express');
const path = require('path');
const port = process.env.PORT || 8080;
const app = express();
const history = require('connect-history-api-fallback');
const indexPath = path.join(__dirname, './public/index.html')
const publicPath = express.static(path.join(__dirname, '/public'))
app.use(publicPath)
app.use(history())
app.get('/', (req, res) => {
res.sendFile(path.resolve(indexPath));
});
app.listen(port);
我怎么固定呢?
你只定义了路径'/'。你也需要添加'/ sign_in'。 – Seblor
@Seblor我在我的应用程序中使用了react-routes,所以每个页面都依赖于/index.html –