前情提要:我在本地开发是一切正常的,但是部署到测试环境中。login页面是会出现的,但是输入用户名和密码之后报错了,出现了如下报错:后端接口是调用成功的,返回了token,但是页面一直在加载(加载不出首页)
Error: Cannot find module ‘@/views/index’
查找了几篇博客尝试解决该问题:
解决VUE路由跳转出现Redirected when going from "/xxx" to "/yyy" via a navigation guard.报错 - 简书 都提到了是vue的路由router出现了问题
其中一种方法是在router文件夹下的index.js中添加如下代码:
const originalPush = Router.prototype.push;
Router.prototype.push = function push(location, onResolve, onReject) {
if (onResolve || onReject)
return originalPush.call(this, location, onResolve, onReject);
return originalPush.call(this, location).catch((err) => err);
};
因此我做了尝试
另一种解决方案就是修改vue-router的版本。
我进行了尝试,并重新安装了一次,之后再次按照要求打包部署。
npm install
问题解决了!登录之后可以进入index首页了,但是控制台报错了。每点击一次菜单就会报错:
TypeError: Cannot read property 'catch' of undefined
TypeError: Cannot read property 'meta' of null
我再次百度查找问题,参考了博客
Cannot read property ‘catch‘ of undefined_小白仍在路上的博客-CSDN博客
我尝试在router文件夹下的index中删除刚才添加的js代码,并再次打包部署。