VUE路由动态加载实例代码讲解


Posted in Javascript onAugust 26, 2019

首先新建vue工程,一般我们不会特殊处理路由,但当项目页面越来越多,路由配置也会越来越大,路由文件就会变得不好维护

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import Test1 from './test1.router.js'
import Test2 from '@/components/children/Test2'
import Test3 from '@/components/children/Test3'
 
Vue.use(Router)
 
export default new Router({
 routes: [
  {
   path: '/HelloWorld',
   name: 'HelloWorld',
   component: HelloWorld
  },
  {
   path:'/',
   name:'Home',
   component:Home,
   children:[
    {
     path:'/test2',
     name:'Test2',
     component:Test2,
    },
    {
     path:'/test3',
     name:'Test3',
     component:Test3,
    }
   ]
 
  }
 ]
})

这是一个很简单的路由文件,我们先进性第一步优化,按一级菜单分类:

新建test1.router.js文件,放置一级菜单test1下的所有路由信息

export default {
  path:'/test1',
  name:'test1',
  component: () => import('@/components/children/Test1'),
  children:[]
}

component: () => import('@/components/children/Test1')这个是配置路由懒加载,优化首屏加载缓慢

在index.js里引入该文件

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import Test1 from './test1.router.js'
import Test2 from './test2.router.js'
import Test3 from './test3.router.js'

Vue.use(Router)

export default new Router({
 routes: [
  {
   path: '/HelloWorld',
   name: 'HelloWorld',
   component: HelloWorld
  },
  {
   path:'/',
   name:'Home',
   component:Home,
   children:[
    Test1,
    Test2,
    Test3
   ]

  }
 ]
})

做到这块,已经可以满足很多项目了,路由文件已经很清晰了,但当项目较大,依然会不清晰

import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'

Vue.use(Router)


let routers = [];

let getALLRouterMsg = (paths) => {
  paths.keys().forEach(
    (key) => routers.push(paths(key).default)
  )
}
getALLRouterMsg(require.context('.',true,/\.router\.js/))
export default new Router({
 routes: [
  {
   path:'/',
   name:'Home',
   component:Home,
   children:[
    ...routers
   ]

  }
 ]
})

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
通过修改referer下载文件的方法
May 11 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
jquery网页元素拖拽插件效果及实现
Aug 05 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
Jan 08 Javascript
Javascript中构造函数要注意的一些坑
Jan 23 Javascript
分享19个JavaScript 有用的简写写法
Jul 07 Javascript
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
layui数据表格重载实现往后台传参
Nov 15 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
Jul 21 Javascript
vue项目部署到nginx/tomcat服务器的实现
Aug 26 #Javascript
vue-router路由模式详解(小结)
Aug 26 #Javascript
vue+moment实现倒计时效果
Aug 26 #Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 #Javascript
Moment.js实现多个同时倒计时
Aug 26 #Javascript
vue获取验证码倒计时组件
Aug 26 #Javascript
seajs和requirejs模块化简单案例分析
Aug 26 #Javascript
You might like
PHP模板引擎SMARTY
2006/10/09 PHP
php去除HTML标签实例
2013/11/06 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP7 新增功能
2021/03/09 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
浅谈Python中的继承
2020/06/19 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
党员岗位承诺书
2014/03/25 职场文书
新闻编辑求职信
2014/04/09 职场文书
秋天的雨教学反思
2014/04/27 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
实习生辞职信范文
2015/03/02 职场文书
家长会后的感想
2015/08/11 职场文书