注意点
require
不能直接导入用变量命名的路径字符串,可以用require.context
require.context
有三个参数:- 匹配的路径目录,(从当前目录开始算起)
- 是否深层遍历
- 正则匹配,匹配出你需要的路径
例子
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const routes = []
const context = require.context('./router', true, /\/[\w]+\.(js|ts)$/)
context.keys().forEach(_ => {
const path = _.replace('./', '')
routes.push(...require('./router/' + path).routes)
})
export default new Router({
routes: [
{path: '/', redirect: '/Home'},
...routes
]
})