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 数组操作代码集锦
Apr 28 Javascript
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
Javascript中的isNaN函数使用说明
Nov 10 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
js字符串截取函数slice、substring和substr的比较
May 17 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
Jan 21 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
React 源码中的依赖注入方法
Nov 07 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
Apr 19 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 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
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
JQuery球队选择实例
2015/05/18 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
vue3.0 上手体验
2020/09/21 Javascript
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
python和php学习哪个更有发展
2020/06/17 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
施工资料员的岗位职责
2013/12/22 职场文书
《画风》教学反思
2014/04/16 职场文书
家长建议怎么写
2014/05/15 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis