最近做了一个PC项目,正好视频学习完React一些相关内容,所以这个PC项目就选用React进行编写。
这个项目用的相关技术
1.react-router 的 BrowserRouter 进行路由编写
2.react-redux 进行状态管理
3.styled-components 进行样式书写
其中在项目开发到上线的过程中遇到了一些问题,特此记录一下。
1.项目打包上线的时候,把打包生成的build文件夹上传到服务器中,访问该地址,页面空白,控制台也出现了报错,原因找不到对应的文件,百度一番,解决方法是在package.json加入
"homepage": "."
再重新打包提交,控制台就不会出现报错了。
2.一般打包的文件放在服务器的根目录当中,访问你的域名即可成功,但是要想把打包的项目放在服务器子目录中该如何访问呢?
在我和后端研究一番得出结论,比如你要放置你的项目子目录叫pc,就要在你的路由增加一个basename,代码如下
<BrowserRouter basename="/pc">
</BrowserRouter>
这样相当于每个路由访问的时候都会默认加上/pc这个路径,记住basename属性不要带后斜线
再次提交并访问子目录是就能访问了,比如 www.baidu.com/pc/
3.我在使用BrowserRouter进行路由编写时,发布到线上,会发现你手动刷新浏览器的时候会发生报错,我们的解决办法是后端在Nginx进行配置修改,修改之后在路由页面刷新也可以访问了
目前这些只是粗略的记录一下问题和简单的解决办法,具体每个问题,有时间会另写文章具体描述该问题及多种解决方法