自动抓取router文件夹下面的路由

503 阅读1分钟

可以自动抓取router文件夹下面的路由文件,以省去主index文件里面引用所有注册过的路由文件的步骤,只关注路由文件的新增和填写。

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

// routes路由数组
let routes = []

// 自动抓取路由
// 获取router文件夹下面所有的js文件 
const pages = require.context('../router', true, /\/.*\.js$/)
// 遍历抓取到的文件遍历文件名字
pages.keys().map(key => {
	// 把路由对象添加到routes里面 如果是当前文件则不添加
	if (key != './index.js') {
		routes = routes.concat(pages(key).default)
	}
})

console.log('routes -------');
console.log(routes);

const router = new VueRouter({
	mode: 'history',
	base: process.env.BASE_URL,
	routes
})

router.beforeEach((to, from, next) => {
	document.title = to.name
	next()
})

export default router

改进了一下,以后不注册路由了,直接让它自己去扫views文件加自动生成路由去.. 但如果你需要有一些children嵌套应该就不行了.. 不过还是可以留作参考....

链接: juejin.cn/post/684490…