本文最后更新于 408 天前,其中的信息可能已经有所发展或是发生改变。
今天进行项目开发的时候需要添加动态路由,本以为是一个简单需求,结果进了一个大坑!
import 组件的时候直接写静态地址是可以,换成变量就不可以:
原因应该是在webpack 编译es6 动态引入 import() 时不能传入变量,因为webpack的现在的实现方式不能实现完全动态。
如上图 改成resolve引入 即可
这样处理后,transformedArr
数组中的每个对象的component
属性将是一个函数,函数中使用require
引入模块,并传入resolve作为回调函数。
扩展
使用 resolve
函数引入懒加载组件的好处是,可以避免因为模块路径或者模块名称的错误而导致的找不到模块的错误。这是因为 resolve
函数会通过 Webpack 的模块解析机制来自动查找模块路径,并确保获取到的路径是准确的。
所以,如果你的懒加载组件在使用 import()
函数引入时出现了找不到模块的错误,那么使用 resolve
函数来引入可能会解决这个问题,因为 resolve
函数可以帮助你正确地定位模块路径和名称。