这里有两种解决办法:

1.检查下有没有name重名的路由,比如像下面这样:

{path: '/storage-pool',name: 'storagePool',   // name 1component: Layout,children: [{path: 'drag-table',name: 'DragTable', // name 2meta: { title:'' },component: () => import('@/views/storage-pool/storage-pool/index')}]},
{path: '/pool',name: 'storagePool', // name 3component: Layout,children: [{path: 'drag-table',name: 'DragTable2', // name 4meta: { title: ''},component: () => import('@/views/storage-pool/storage-pool/index')}]},

以上demo 包括子路由一共有4个name值,其中name1 和name3 是重复的。这样就会产生Duplicate named routes definition 的警告了。

解决方式:

静态路由的解决方式很简单,只要调整一下name,使所有name 不重复即可.

例如,将以上的name 分别设置为name : 'storagePool' , name: 'DragTable', name: 'storagePool2', name: 'DragTable2'

2.如果发现自己的name并没有重名,那么一般是后台动态路由导致的报错警告。动态路由一般来说是通过后端接口返回拿到数据,然后在路由守卫router.beforeEach 中进行添加。

router.beforeEach(async(to, from, next) => {if (to.name === 'storageNew') {getAside().then(res => {router.addRoutes(res)next()})} else {next()}
})

以上demo 运行也会出现警告 Duplicate named routes definition,这里的重点是方法 addRoutes,因为: addRoutes 方法仅仅是帮你注入新的路由,并没有帮你剔除其它路由。

解决方式:

在router/index.js中写上这段代码:

import Vue from 'vue'
import Router from 'vue-router'Vue.use(Router)const createRouter = () => new Router({
mode: 'history',
routes: []
})const router = createRouter()export function resetRouter () {
const newRouter = createRouter()
router.matcher = newRouter.matcher // the relevant part
}export default router

然后做以下操作:

import { resetRouter } from  router/index.jsrouter.beforeEach(async(to, from, next) => {if (to.name === 'storageNew') {getAside().then(res => {resetRouter() // 重置路由router.addRoutes(res)next()})} else {next()}
})

刷新页面会发现警告已经消失了。因为我负责的路由权限系统,router.addRoutes(res)仅仅是只执行一次,所以以上解决方法有效。

如果有的小伙伴的代码中,跳转动态路由执行了多次router.addRoutes(res),那就参考以下文章解决吧vue 路由警告 Duplicate named routes definition

vue 路由报[vue-router] Duplicate named routes definition相关推荐

  1. Duplicate named routes definition

    初始化后台菜单的时候报了一堆Duplicate named routes definition, 原因:没有判断addRoutes是否成功,以下为正确逻辑:判断vuex中是否存在menus,当存在之后 ...

  2. vue 路由警告 Duplicate named routes definition

    今天在开发的时候,项目报了一个警告  Duplicate named routes definition ,这里记录一下解决方式和思路. 警告产生的原因 根据提示内容,我们大概猜测是和路由的name有 ...

  3. 【记录21】[vue-router] Duplicate named routes definition: { name: “details“, path: “/equiment/details“

    问题: 报错或预警:[vue-router] Duplicate named routes definition: { name: "details", path: "/ ...

  4. [vue-router] Duplicate named routes definition

    浏览器告警信息 [vue-router] Duplicate named routes definition: { name: "index", path: "/inde ...

  5. Duplicate named routes definition:

    [vue-router] Duplicate named routes definition: { name: "模板", path: "/exam/" } 这 ...

  6. vue-router.esm.js?081a:16 [vue-router] Duplicate named routes definition(问题篇)

    1.vue路由报的警告,原因是路由name名称重复了.如下图: 2.解决办法: 找到src文件下router下的index.js文件. 修改name,将相同的name改一下名称 3.保存刷新页面,看控 ...

  7. 浏览器出现的报错信息为:Duplicate named routes definition: { name: home, path: /index }

    路由这样写就会报上面的错误: {path: '/',name: 'home',component: home,redirect: '/index', }, {path: '/index',name: ...

  8. Duplicate named routes definition重复的路由名

    改为这样就可以了

  9. vue-router.esm.js?fe87:16 [vue-router] Duplicate named routes definition:

    解决办法

最新文章

  1. Linux修改文件权限为777
  2. 电磁场与电磁波第四章 时变电磁场
  3. Linux并发与同步专题 (1)原子操作和内存屏障
  4. 后端学习 - SpringMVC
  5. mysql --force -f_Mysql_mysql force Index 强制索引
  6. 计算机启动进入不了桌面图标,电脑开机后不显示桌面图标如何通过修改注册表解决问题...
  7. ajax提交时“加载中”提示的处理方法
  8. ESP32开发实例(七),WebServer使用
  9. Rusr Error: linker `x86_64-w64-mingw32-gcc` not found
  10. 5G系统——5G QoS
  11. 正则表达式详解(贪婪与懒惰、前瞻与后顾、后向引用等)
  12. Linux系统下查找最近修改过的文件
  13. stm32CubeMX+Proteus仿真OLED12864I2C
  14. RL极简入门:从MDP、DP MC TC到Q函数、策略学习、PPO
  15. 亚马逊echo中国使用_您是否需要Amazon Prime才能使用Amazon Echo?
  16. 位是存储在计算机中的最小单位,在计算机中信息存储的最小单位是什么?
  17. 你了解c++中的关键字virtual吗?
  18. CreateJS-TweenJS文档翻译
  19. MATLAB的比例图形制作
  20. 利用金箔形成的暗能量制造出的虫洞穿越空间的机器

热门文章

  1. GBT 35273-2020 信息安全技术 个人信息安全规范
  2. 蚌埠2021高考成绩查询,2021蚌埠市地区高考成绩排名查询
  3. 【商业分析】FinTech之支付宝 • 数字生活开放平台
  4. AI语音唤醒方案的设计与实现
  5. 什么样的工作是好工作?
  6. [061量化交易]python使用baostock下载全部行情数据
  7. C#桌面应用程序调用Ocx控件
  8. DTW(Dynamic Time Warping)动态时间规整——简单易懂
  9. IBM LinuxONE Community Cloud 免费试用申请教程
  10. 计算机教育研究生考什么,计算机在职研究生考什么科目