import()语法不能传入变量
解决办法
一定要用变量的时候,可以通过字符串模板来提供部分信息给webpack;
例如import(`./path/${myFile}`), 这样编译时会编译所有./path下的模块,但运行时确定myFile的值才会加载,从而实现懒加载。
import(`./path/${myFile}`),
问题
可以用
const cc = () => import('./aa.vue');
如下代码报错
let name = '@/views/aa.vue';
const cc = () => import(name);
或者
function jikj() { return './gg.js'; }
const cc = () => import(jikj());
动态引入import()变量失效
import我们通常的用法是
import('@/pages/demo').then(item=>{})
但是现在有个需求必须要动态传入路径,发现传入变量后不能识别,代码如下
const modelpath = ‘@/pages/demo'
import(modelpath).then(item => {})
因为webpack的现在的实现方式不能实现完全动态,所以可以通过字符串模板来提供部分信息给webpack,如下
const modelpath = ‘/demo'
import(`@/pages${modelpath}`).then(item => {})
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。