require.context
require.context是webpack的api,功能是遍历文件夹中的指定文件,然后自动导入。
语法
require.context(directory, useSubdirectories, regExp)
参数:
directory:参数为String,表示读取文件的路径useSubdirectories:参数为Boolean,表示是否遍历文件的子目录regExp:参数为RegExp,表示匹配文件的正则
context module API
require.context执行后返回一个函数
-
这个函数接收一个
req参数,req为导入模块的相对路径(keys属性获取),返回值为导入的模块,可通过default属性获取模块的默认导出 -
这个函数有3个属性
id:为String,上下文执行模块的id,官网介绍用处在module.hot.acceptresolve:是一个Function,接受一个参数req,req为导入模块的相对路径(keys属性获取),返回值为此模块相对于项目的相对路径keys:也是一个Function,没有参数,返回值为导入模块组成的数组(导入模块的相对路径组成的数组)
const modules = (r => r.keys().map(key => r(key).default))(require.context('./components/', true, /\.js$/))