当用户在路线上刷新时,React Build 无法服务器页面

React Build Can not server page when user refresh on a route

我使用 npm run-script build 构建了我的 React 应用程序,一切正常。

当我导航到生产站点并导航到路线并使用 F5 刷新页面时,出现意外错误:

Uncaught SyntaxError: Unexpected token '<'

我在第一次发布时遇到了这个错误,我发现问题出在包 package.json 主页 属性 中,我将其更改为 "homepage": "." 并且站点正常。但是在路线上一切都坏了。

我认为 node serve 不能在子路由上服务器 index.html。

有什么建议吗??

编辑::

我也尝试在以下 link 中使用 express server :

https://create-react-app.dev/docs/deployment/

但没有任何变化。路线刷新时出现同样的错误。

我的图像 url 也坏了。为什么浏览器在 url 的开头附加前缀?!

例如图片源是:./static/media/aaa.4dccf6e3.webp 但浏览器寻找 /admin/static/media/aaa.4dccf6e3.webp

开发系统一切正常!

我发现了问题。 package.json 中的主页 属性。我只是清理值,一切都正常了。

出现问题是因为主页 属性 值为“.” js、css 和图像的每个地址都带有点前缀。当您在客户端的路线中间时,浏览器会从错误的地址获取这些文件。