vue动态路由加载组件,找不到module问题


vue动态加载路由并挂载到vue。路由信息由后端给出,同时component的路径也是后端给出,但是动态加载该路径会报错。
原因:webpack 编译es6 动态引入 import() 时不能传入变量,因此webpack目前不能做到完全的动态加载路由
解决方案:在import时,拼接一个静态的字符串,这样webpack就可以正常加载了。

 temp.component = () => import(`@/views/${menu.menuVueComponent}`) // 正确
 temp.component = () => import(`${menu.menuVueComponent}`) // 不能加载
 temp.component = () => import(menu.menuVueComponent) // 不能加载

前面直接拼@/会有一个scss样式报错,因为我在这里用的是vue-admin-template,可能是模板本身的问题,完全自己编写的后端不清楚会不会这样,如果@/不行,就多拼几层目录

Logo

前往低代码交流专区

更多推荐