首页 > 解决方案 > 使用 BrowserRouter,如何刷新页面而不在生产服务器上获得 404?

问题描述

我了解 BrowserRouter 和 HashRouter 在 React Router v4 中是如何工作的。我目前正在使用 BrowserRouter,所以我没有得到如此丑陋的 URL。我见过很多例子,其中大部分已经过时了。我想知道如何在没有在生产服务器上获得 404 的情况下刷新路由上的页面?本质上是让 React 重新渲染组件。我还应该提到我正在使用 create react app 和提供的 react-scripts 来启动和构建项目。我在 webpack 中尝试了 historyApiFallback 的东西,它似乎没有做任何事情。

标签: reactjsreact-router-v4

解决方案


如果您有一个简单的应用程序并且不想避免在服务器端渲染路由,您可以使用“React Snap”

https://www.npmjs.com/package/react-snap

配置后,它会将您的 Web 应用程序路由预呈现为静态 HTML。我将它用于我的许多 react+router 应用程序,我喜欢它。


推荐阅读