前端工程化之require.context()

141 阅读1分钟
  • require.context(directory,useSubdirectories,regExp)
  1. directory:表示检索的目录
  2. useSubdirectories:表示是否检索子文件夹
  3. regExp:匹配文件的正则表达式,一般是文件名
    例如 require.context("./components",true,/Comp([a-zA-Z0-9]+)/index.tsx$/)
  • 常用来在一个组件内引入多个组件
例:
const compsAll = require.context('./components', true, /Comp([a-zA-Z0-9]+)\/index.tsx$/);
const comps: any = {};
//keys()为返回的匹配成功的所有模块
compsAll.keys().forEach((key: string) => {
  if (/Comp([a-zA-Z0-9]+)\/index.tsx$/.test(key)) {
    const _key = RegExp.$1.toLowerCase();
    comps[_key] = compsAll(key).default || compsAll(key);
  }
});
export default={
    ...
    components:comps
}