0

我是使用 react-router-4 和 webpack-4 的新手。

我有一个在本地运行的节点服务器,配置了 express。当我运行 webpack 生产构建时,我得到一个“无法获取 /URL”,尽管路由在路由链接和页面内工作正常,但是一旦我进行深度链接或页面刷新,页面就不会被获取。

webpack-dev-server 构建一切正常。

我有以下用于开发服务器的 webpack 配置:-

devServer: {
        historyApiFallback: true,
        contentBase: path.join(__dirname, "../")
    },

但我不确定我需要使 webpack 生产构建工作的配置。是 webpack 的问题还是快速获取页面的问题。

4

1 回答 1

0

查看您的 server.js 文件并确保您在每个请求上都提供 index.html。确保路由定义为“/*”而不是“/”

const express = require('express');
const path = require('path');

const PORT = process.env.PORT || 5000;
const app = express();

app.use(express.static('build'));
app.listen(PORT, () => console.log('server started at port 5000'));

app.get('/*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'build', 'index.html'), (err) => {
if (err) res.status(500).send(err);
   });
});
于 2020-01-01T06:31:48.020 回答