前情提要:我在本地开发是一切正常的,但是部署到测试环境中。login页面是会出现的,但是输入用户名和密码之后报错了,出现了如下报错:后端接口是调用成功的,返回了token,但是页面一直在加载(加载不出首页)

Error: Cannot find module ‘@/views/index’

 查找了几篇博客尝试解决该问题:

vue路由跳转错误:Error: Redirected when going from “/login“ to “/home“ via a navigation guard._weixin_44039043的博客-CSDN博客

解决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代码,并再次打包部署。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐