React
页面404
原因:页面的跳转是通过路由实现,如果直接访问,nginx发现找不到页面就直接返回404
方式1、修改nginx配置
{
listen 80 ;
listen [::]:80 ;
root /usr/local/react/build; //项目打包代码地址
location / {
try_files $uri $uri/ /index.html; //项目服务访问地址
}
}
方式2、改用 hashHistory
在配置文件 .umirc.js 中增加一行配置:
history: 'hash'
方式3、build的时候生成假的index.html
在配置文件 .umirc.js 中增加一行/配置:
exportStatic: true
总结:
方式2,会使得url中多一个#号,如 https://localhost:8000/user/login 会变成 https://localhost:8000/#/user/login
这也好理解,加个#,变成永远访问的都是/index.html,自然就不会找不到页面
方式3,存在两个问题,一是没路由的,不会生成,二是有强迫症的不适合,感觉生成了很多废文件
综上情况,修改nginx配置是比较合适的
参考:
https://blog.csdn.net/u011262253/article/details/128545555
https://cloud.tencent.com/developer/article/1876099?ivk_sa=1024320u