vue路由分包后自动引入

大家熟知的vue路由都是直接写在同一个页面,但是当项目比较庞大的时候,如果都写在一个页面,就算是由自己亲手写的,到需要维护的时候,也是要慢慢找,这个时候我们就可以考虑分包,把每个模块的路由都写在相对应的文件夹里面,这样维护起来也很方便。

路由分包(我自己是这么理解的),方法有很多,这个是其中一个方法,比较简单,在此记录一下,有什么其他好的方法也可以评论,一起探讨。。。

首先在路由文件的主文件里面进行路由的引入,并且创建自动引入的方法

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'

Vue.use(VueRouter)
// 首先创建一个数组来接收其他路由文件
let routerList = []
// 创建一个方法,把路由都push进数组里面
function addRouterFn (r) {
  r.keys().forEach(i => {
    routerList.push(r(i).default)
  })
}

// 用正则获取其他的文件 获取同级文件带router字段和.js的文件
//context是动态引入文件的方法,参数(文件路径,不需要匹配子文件,需要找的文件)
addRouterFn(require.context('./', false, /\.router\.js/))
const routes = [
  ...routerList,//结构数组
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
....
]

此时需要增加模块,只需要在同级创建带.router并且是.js结尾的文件就可以了,完全不用动主文件夹,因为他会自动引入。

你可能感兴趣的:(vue.js,前端,javascript)