项目场景:
使用electron+vue3+vue-router开发桌面端,开始vue-router报错reading parent of undefined,后面nodemon又报错Uncaught ReferenceError: process is not defined
问题描述
开发electron的时候,突然发现vue-router无法正确跳转了。
找到nodemon的源码文件,发现process报错的地方是调用process.version获取版本号,这是node内置的api。
项目以往一直能用,所以node版本没问题,那就只能是nodemon出问题了。
原因分析:
我把router-view标签去掉,随便写点内容,能正确显示。所以追踪到router下的index.js文件,打断点发现无法进入此文件,所以此js文件某处有bug。然后一块块代码定位问题,发现不知道什么时候,引入了nodemon的一个方法。(这文件正常情况不会引入此方法)
可能是我在下载某个插件的时候,依赖nodemon导致其版本出错了?但是也不应该修改我的router入口文件啊。已经无法复现产生这问题的场景,所以也无法十分确定产生此问题的原因。
但是大概率能确定的是,nodemon版本出问题了,并且router报错的原因就是在其index.js引入了nodemon的api。
解决方案:
- 第一步,删除router文件夹下index.js中关于nodemon的代码。
- 第二步,更新nodemon版本。
问题解决。