Vue动态路由异步加载组件时,如何避免因模块导入失败导致的长尾词加载问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计437个文字,预计阅读时间需要2分钟。
错误信息显示:webpackEmptyContext路径信息:webpackEmptyContext+eval+at+.%2Fsrc%2Fstore%2Fmodules+sync+recursive+(.js:10)+anonymous:2:10原因分析:由后端给出的路径信息,前端需要动态加载路由,同时组件的路径也是由后端提供。
报错信息应该是这样的
webpackEmptyContext (eval at ./src/store/modules sync recursive (0.js:10), <anonymous>:2:10)
路由信息由后端给出,那么前端需要动态加载路由,同时component的路径也是后端给出,但是动态加载该路径会报错
如:
// 假如path = '@/views/user'
const com = () => import(path) // 这样会报错哦
const com2 = () = > import('@/views/user') // 这样写死的字符串就可以
原因应该是在webpack,webpack 编译es6 动态引入 import() 时不能传入变量,因为webpack的现在的实现方式不能实现完全动态。
本文共计437个文字,预计阅读时间需要2分钟。
错误信息显示:webpackEmptyContext路径信息:webpackEmptyContext+eval+at+.%2Fsrc%2Fstore%2Fmodules+sync+recursive+(.js:10)+anonymous:2:10原因分析:由后端给出的路径信息,前端需要动态加载路由,同时组件的路径也是由后端提供。
报错信息应该是这样的
webpackEmptyContext (eval at ./src/store/modules sync recursive (0.js:10), <anonymous>:2:10)
路由信息由后端给出,那么前端需要动态加载路由,同时component的路径也是后端给出,但是动态加载该路径会报错
如:
// 假如path = '@/views/user'
const com = () => import(path) // 这样会报错哦
const com2 = () = > import('@/views/user') // 这样写死的字符串就可以
原因应该是在webpack,webpack 编译es6 动态引入 import() 时不能传入变量,因为webpack的现在的实现方式不能实现完全动态。

