前言:项目中现有一个文件里面包含所有需要用到的组件,如果一个个的去import,则会非常麻烦,现有require.context去实现,
1、require.context
var request = require.context(‘./module’, true, /.js$/)
require.context()接收三个参数,第一个参数是要加载的文件目录地址,第二个参数是true或false,表示是否需要加载子目录,第三个参数是个正则表达式,表示要加载哪些文件,上面代码表示要加载module目录下的.js文件。
需要注意 require.context()的第一个参数不能是一个变量,webpack在编译阶段无法定位目录
2、实现代码
const path = require("path")const modules = {}files.keys().forEach((key) => {const name = path.basename(key, ".vue")modules[name] = files(key).default || files(key)})return {components: modules}
最后在文件中导入使用
export default {
components:components
}