情景
开发模式下路由跳转很正常,但是打包后,点击菜单路由视图并不加载,说Cannot find module
解决
- 方法一
将component = import('@/views/' + path + '.vue')
替换为:
// resolve不能省略
component = resolve => require([`@/views/${path}.vue`], resolve)
- 方法二
使用dynamic-import
插件(这并不是一个插件的名字,插件名:babel-plugin-dynamic-import-node
)。
原因
webpack 编译es6 动态引入 import() 时不能传入变量。
所以我直接将路径写全,是没有问题的,说明确实不能使用变量:
component = () => import(`@/views/sys/menu.vue`)
然后尝试使用字符串模板,依旧不行。
component = import(`@/views/${path}.vue`)