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工具方法弹出蒙版
May 08 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
js动态切换图片的方法
Jan 20 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
javascript数据类型详解
Feb 07 Javascript
学习使用ExpressJS 4.0中的新Router的用法
Nov 06 Javascript
Angular封装搜索框组件操作示例
Apr 25 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 07 Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 Javascript
JS画布动态实现黑客帝国背景效果
Nov 08 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP代码优化技巧小结
2015/09/29 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
jquery 笔记 事件
2011/11/02 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
pyramid配置session的方法教程
2013/11/27 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
python实现两张图片的像素融合
2019/02/23 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
物业管理求职自荐信
2013/09/25 职场文书
打架检讨书2000字
2014/02/22 职场文书
员工生日会策划方案
2014/06/14 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android