美文网首页
React打包部署后页面二次刷新报错问题

React打包部署后页面二次刷新报错问题

作者: 板栗炖牛肉 | 来源:发表于2020-11-16 14:10 被阅读0次

    前言

    creat-react-app创建的项目,项目引用的路由框架是“react-router-dom”。打包部署后,部分如http://xxx/account/center这样的二级路径刷新报错,错误信息是Uncaught SyntaxError: Unexpected token <。

    被这样问题搞了一上午,最后发现是homepage配置的锅。

    • homepage的作用是设置应用的跟路径,我们的项目打包后是要运行在一个域名之下的,有时候可能是运行在跟域名下,也有可能运行在某个子域名下或或域名的某个目录下,这时候我们就需要让我们的应用知道去哪里加载资源,这时候就需要我们设置一个跟路径,而且有时候我们的资源会部署在 CDN 上,你必须告诉打包工具你的CDN地址是什么。

    • 比如我们用 create-react-app 开发的 React 应用,以及 Vue CLI 开发的项目,默认是继承了 webpack 的,当不配置 homepage 属性,build 打包之后的文件资源应用路径默认是 /

    参考文章

    解决方案

    1.将package.json里的

     "homepage": "."
    

    改为

      "homepage": "/"
    

    或直接删除

    2.但这样会出现有些特殊部署会出现问题,这里暂时没有解决方法。我这边路由是用的BrowserRouter,部署代理是nginx。如果是直接放在spring boot上的建议还是用HashRouter

    相关文章

      网友评论

          本文标题:React打包部署后页面二次刷新报错问题

          本文链接:https://www.haomeiwen.com/subject/sqaabktx.html