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 相关文章推荐
[对联广告] JS脚本类
Aug 27 Javascript
javascript拖拽上传类库DropzoneJS使用方法
Dec 05 Javascript
javascript定义变量时加var与不加var的区别
Dec 22 Javascript
12个超实用的JQuery代码片段
Nov 02 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
Mar 05 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
JS DOMReady事件的六种实现方法总结
Nov 23 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 Javascript
react-native中ListView组件点击跳转的方法示例
Sep 30 Javascript
vue-cli扩展多模块打包的示例代码
Apr 09 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 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
杏林同学录(九)
2006/10/09 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
jquery封装的对话框简单实现
2013/07/21 Javascript
JS判定是否原生方法
2013/07/22 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
Js apply方法详解
2017/02/16 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
三个python爬虫项目实例代码
2019/12/28 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
创业计划书的写作技巧及要点
2014/01/31 职场文书
开门红主持词
2014/04/02 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
2014年个人售房协议书
2014/10/30 职场文书
培训师岗位职责
2015/02/14 职场文书
公积金贷款承诺书
2015/04/30 职场文书
南京南京观后感
2015/06/02 职场文书
父母教会我观后感
2015/06/17 职场文书
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技