前几天发版,意料之外搞了个通宵,天快亮的时候,我们打开了移动端应用,然后点点点,一切看起来都很正常,心想可以回家睡觉了。
问题就这样悄然而至了,系统就像烂了一样,这个tab切不了,那个页面js报错 最终的错误都是这个样。
我们在开发环境,测试环境,一样的部署,都没有这个问题,生产环境突然报错,这一下把人整蒙了。尝试修改配置重新部署,都没有作用。 排查结果是,出现此类问题的js,都是通过resolve=>...这种懒加载方式引入的。 在最后关头,也只能来硬的,硬是把系统内近100个懒加载改成了普通的import 勉强过关!
但是第二天发现,如果用了的页面,同样会报ChunkLoadError。这样大费周章的改代码,终究不是好的解决办法,一定要从根本解决这个问题。
继续排查,通常我们出现类似问题,都是publicPath的问题。因为其他环境都很正常,我们一开始根本没往自己的配置代码去考虑,而是去质疑环境,nginx配置,但是无果。
和以往正常代码唯一的不同,就是本次使用了qiankun集成多个子应用。查阅qiankun的官方文档,发现这个常见问题: ## 为什么微应用加载的资源会 404?
按照方法b,重新配置了publicPath,发布生产,此类错误看起来消失了,希望它再也不要出现了。 对于webpack的配置,我始终没有深入学习,终究还是学艺不精啊~