举例:
在 route 下的 index.js 里写 【自动化导入路由】
webpack提供一个api方法,完成对于模块的自动加载
通过执行require.context函数,
主要用来实现自动化导入模块,它会遍历文件夹中的指定文件,然后自动导入,使得不需要每次显式的调用import导入模块
参数1:要去检索的目录
参数2:是否递归检索,true是,false否
参数3:指定要检索的文件类型 用正则来完成
返回值:是一个函数,且此函数有一个方法为keys返回一个检索到的文件列表(数组)
正则的 i不区分大小写 g全局 u支持中文
改成
const routes = []
const files = require.context('./routes', false, /\.js$/i)
files.keys().forEach(item => {
let module = files(item).default
Array.isArray(module) ? routes.push(...module) : routes.push(module)
});
再改成(工作常用)
const files = require.context('./routes', false, /\.js$/i)
//pre初始值, cur当前值
const routes = files.keys().reduce((pre, cur) => {
let module = files(cur).default
Array.isArray(module) ? pre.push(...module) : pre.push(module)
return pre
}, []);