vue懒加载,打包后项目出现“Loading chunk 0 failed”

这个困扰我很久的问题,今天总算解决了,长长地舒了一口气呀,于是写下这篇文章,希望给一些同道中人提供些许思路和帮助。

最近弄项目优化,路由懒加载成了首要任务,因为项目首页加载app.js和vendor.js太大了,于是乎我就弄了懒加载。

打包到测试环境一看,页面白屏了,控制台出现了如下报错:


8781ed4fd9a0603c8575aae3aa05d38.png

第一次看见这个报错,我就去搜索Loading chunk 0 failed
结果就是网上文章,要不就是说放弃懒加载,要不就是加个路由router.onError进行监听,监听有问题之后刷新页面,我觉得这些都没解决本质问题,而且我的情况是即使刷新页面也是加载失败,反正我就各种尝试,其中艰辛不说了,到最后思维已经进入了僵局,找不到突破口......

现在想想,其实是我的思路有问题,报错信息很明显说了failed to resolve async component default: Error Loading chunk 0 failed也就是说加载不到异步组件,所以报错,而无法加载到对应组件的js,原因只有一个,那就是路径问题,导致加载不到。

然后我看了下控制台加载的js,路径也确实不对,因为我的是测试环境,所以域名后面应该有个test,而控制台加载的js,直接就是线上地址

1655263061328.png

然后我就修改config.js文件里面的assetsPublicPath,改为/,网上很多人说有效果,但是我试了没有用
于是乎,我就试了第二种方法,因为我是测试环境懒加载引入的js文件路径有问题,于是我就是修改webpack.test.conf.js,把publicPath从绝对路径/改为相对路径./

问题就这么解决了,解决之后,回想自己为了解决这个问题,做了各种很蠢的尝试,各种百度搜索,甚至最后都有一种死马当活马医的心态,归根到底,是我自己思路没有理清,采取错误的方法进行错误的尝试导致的,浪费许多时间和精力,这里我得检讨一下自己:思路是最重要的,不要为了解决问题而变得很盲目被动,要通过现象看透本质,对症下药,方能药到病除,死马当活马医终归是行不通的,加油吧,路漫漫其修远兮,吾将上下而求索。

你可能感兴趣的:(vue懒加载,打包后项目出现“Loading chunk 0 failed”)