问题描述:
使用react框架写了一个项目,路由为history模式,部署到nginx之后,首页可以访问,但是路由跳转到其他界面,然后刷新一下界面,js、css等静态资源显示 You need to enable JavaScript to run this app.
问题排查:
先在浏览器的控制台上查看了一下文件的路径 发现是
http:/xxx.xxx.com/pages/static/css/main.4cb85631.chunk.css
/pages 实际是我配的路由,所以推测文件路径出的问题。
检查了一下 打包后的 asset-manifest.json 文件,发现路径全是 " ./ "
解决方法:
package.json 文件里的 "homepage": "./", 改成 "homepage": "/", 即可。
补充一下 nginx 别忘了加 try_files $uri $uri/ /index.html;