项目说明:
pc端的管理后台,大多是表单提交、查询、详情
框架react+react-redux+react-router+react-loadable
问题:登录之后管理信息页面一直loading,不请求接口
前提:上次发版没有问题,这次修改的需求只是在一个单选按钮,增加了一条数据,再次发布测试线出现问题,目前三个测试线同样的问题,即使不修改也出现这样的错误
如图所示,其他三个路由没有问题,可以正常访问
解决步骤:
第一步
这次发布我只新增单选的下拉选项文档,不影响环境问题,判断不是自己的问题
第二步
找运维,发布为什么一直loading ,我不修改代码再次发布也是一直loading,环境是不是有问题,
运维找不到问题
第三步
本地启动项目没问题,发布到线上有问题,然后我本地打包dist文件,让运维直接丢服务器上,页面可以正常访问,然后运维自己本地打包丢服务器上却不可以,断定代码有问题,不是配置环境的问题
第四步
由于自己react经验比较少,然后咨询同事
第五步
react-loadable 懒加载的页面 报错 会一直处在loading 中,所以说页面有问题,其余页面没有问题我就看对比,其余页面是表格的形式,当前页面是表单的形式,然后找表单组件的问题
当前有四个组件引入使用,本地打包丢服务器正常,所以找运维部署时的项目代码及打包之后的文件,
接下来在本地分别注释组件打包本地访问(cd build && hs)
错误的提示如下:
这样找到两个文件,这两个文件都是上传图片的组件,把upload 标签注释,项目没问题,一开始以为upload参数问题,我直接引入标签不传入任何参数还是不行,所以断定是upload的标签,标签是引入的antd的框架,所以猜想是版本的问题
第六步
看node_modules的版本是antd@3.26.16
package.json 文件 {"antd": "^3.22.1"}
为什么node_modules的版本是antd@3.26.16,可以找npm 依赖包版本号~和^的文章
项目发布npm install 时node_modules的版本会更新,一直loading的版本号是antd@3.26.16 ,所以查看antd的git地址:
所以更新antd@3.26.17这个版本号
package.json 文件 {"antd": "@3.26.17"},目前我的做法是直接写死的,因为这是3.0最新的包,本地打包测试通过,发布环境测试通过。
目前找问题经历这几步,其实由于对自己能力局限,自己走过很多坑,小伙伴们对我这个问题有没有很好解决方法,可以快速定位到问题,期待你的留言