十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了如何解决vue-router的Import异步加载模块问题,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
义乌网站建设公司成都创新互联,义乌网站设计制作,有大型网站制作公司丰富经验。已为义乌成百上千提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的义乌做网站的公司定做!
1、问题现象
2、出现问题的代码点
3、替代方案:
把import()
替换成如下:
Promise.resolve().then(()=>require(`@/views/${str}`))
4、原因分析
项目在编译时,出现一个警告
这个警告的含义:
require接收了一个变量,会报上面的警告,接收一个写死的字符串值时则没有警告!
我们通过控制台查看到import()对应编译过后的代码:
从上图可以看到require接收了一个变量,所以运行时出现了警告。
那这样就会报上面找不到对应的模块。
那我们再来看一个import()正确编译过后的代码:
通过对比编译过后的代码,可以轻易发现不同点。
花了大量时间,去找node_modules中的那个包版本不一致导致的,有一次尝试成功了, 但回想不起是哪一步操作的呢,再复现的时候,也没对了。先暂时搁置吧,希望对webpack和Babel熟悉的大佬看到,能指点一二了。
所以根据编译过后的代码,以及require的特性,尝试出了一个临时解决方案。
看完上述内容,是不是对如何解决vue-router的Import异步加载模块问题有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。