问题
在发布环境(对应release分支)上页面报错:
在测试环境(对应master分支)上相同页面,不报错。
本地拉release分支 - 运行,不报错。
猜测是包的版本问题,可是检查FormattedMessage相关的包:umi以及umi相关插件@umijs/plugin-locale,两个分支上版本都是一样的
怎样在本地重现错误
在本地拉取release分支,执行yarn命令重新安装包,运行 ——报错:
根据此时的报错信息就可以定位错误了。
注意:
- 拉分支,直接运行,可能不报错。因为包文件node_modules里是拉取之前的包依赖,并不是release的
一定要重新安装包。甚至可以把node_modules删掉重新装。 - 这一次并不是跟FormattedMessage相关的包的版本有问题,是一个项目自己写的依赖包,里面用到了FormattedMessage却没导入[简单的代码错误]
总结
首先要相信一切错误都是有原因的。
然后,本地重现报错:拉代码 - 重新安装包 - 重新运行。除开两个环境的网络不同导致的问题,错误应该是可以复现的