如果你使用的是 React Router v5,使用 BrowserRouter 组件可以实现浏览器路由模式。但是在使用 BrowserRouter 组件时,你需要在服务器上配置一个 fallback 配置,以便在访问不存在的页面时,服务器可以返回 index.html 而不是 404 错误页面。

以下是一个示例配置文件:

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

const app = express();

app.use(express.static(path.join(__dirname, 'build')));

app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'build/index.html'));
});

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`App is listening on port ${port}`);
});

在上面的代码中,我们使用了 express 模块来启动一个服务器,并将 build 目录设置为静态文件目录。然后,我们在所有路由中添加了一个通配符,以便在访问任何不存在的页面时,将返回 index.html 文件。

如果你使用的是其他服务器框架,你需要查看框架的文档,了解如何配置 fallback

react项目中browserhistory模式下进入二级页面报404错误

原文地址: http://www.cveoy.top/t/topic/cHJo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录