Vue自定义页面路由

错误1:webpackEmptyContext (eval at ./src/store/modules sync recursive (0.js:10), <anonymous>:2:10)

路由信息由后端给出,那么前端需要动态加载路由,同时component的路径也是后端给出,但是动态加载该路径会报错

1
2
3
4
// 假如path = '@/views/user'
const com = () => import(path) // 这样会报错哦
  
const com2 = () = > import('@/views/user') // 这样写死的字符串就可以

  

原因应该是在webpack,webpack 编译es6 动态引入 import() 时不能传入变量,因为webpack的现在的实现方式不能实现完全动态。

解决办法:

可以通过字符串模板来提供部分信息给webpack,例如import(`@/${path}`), 这样编译时会编译所有@/views下的模块,但运行时确定path的值才会加载,从而实现懒加载。

如果写了@给webpack还是不能识别,那么可能你需要多些几级的路径,如import(`@/views/${path}`)

 

错误2:Syntax Error: TypeError: Cannot read property 'range' of null

解决方案

  1、问题原因为babel-lint版本过高问题导致。

解决方式:降低版本,比如7/8都可以。

 

修改package.json

 

	...
	"devDependencies": {
			...
	    "babel-eslint": "^7.2.3",
	     ...
     }
 

    1、调整页面路由页面导入方式

  
1
2
//【component = () => import(`@/views${item.path}`)】这个地方用这种方式有时报错,解决方案使用【component = resolve => require([`@/views${item.path}`], resolve)】
  component = resolve => require([`@/views${item.path}`], resolve)

  

 

posted @   马永猛  阅读(1179)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示