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 相关文章推荐
javascript 仿QQ滑动菜单效果代码
Sep 03 Javascript
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 Javascript
JavaScript事件处理器中的event参数使用介绍
May 24 Javascript
php中给js数组赋值方法
Mar 10 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
JavaScript中apply方法的应用技巧小结
Sep 29 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
jQuery解析json格式数据示例
Sep 01 jQuery
微信小程序转发事件实现解析
Oct 22 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
Oct 28 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
python批量替换多文件字符串问题详解
2018/04/22 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
numpy数组广播的机制
2019/07/12 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
申报职称专业技术个人的自我评价
2013/12/12 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
2014年保育员工作总结
2014/12/02 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
七年级上册生物的课件
2019/08/07 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js