注意点
require不能直接导入用变量命名的路径字符串,可以用require.contextrequire.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
]
})

本文探讨了在JS工程化中如何优雅地导入模块,强调了不能直接使用变量命名路径字符串,而是推荐使用匹配路径目录的方法。文章通过介绍三个关键参数:路径目录、是否深层遍历以及正则匹配,提供了实现这一目标的指导。并给出了具体实例来进一步解释这些概念。
144

被折叠的 条评论
为什么被折叠?



