本文最后更新于 2024-09-14,文章内容可能已经过时。

require.contextwebpack 中的一个api ,可以通过指定路径,来获取路径下所指定后缀的文件内容!

参数

参数 类型 说明
dirname string 读取文件夹的路径
useSubdirectories Boolean 是否遍历子目录
RegExp RegExp 正则表达式,匹配文件后缀

require.context('@/api' , true, /(.js$)/);

使用

const path = require("path");
const moudule = {};
const files = require.context("@/components", true, /\.vue$/)
/*
    实际上是 webpack 的方法,vue 工程一般基于 webpack,所以可以使用
    require.context(directory,useSubdirectories,regExp)
    接收三个参数:
        directory:说明需要检索的目录
        useSubdirectories:是否检索子目录
        regExp: 匹配文件的正则表达式,一般是文件名
*/
const install = (Vue) => {
  files.keys().map(key => {
    modules[name] = files(key).default || files(key);
    // console.log("basePath", basePath, key, modules[name]);
    if (modules[name]) {
      console.log("modules[name].name", modules[name].name, modules[name]);
      Vue.component(modules[name].name, modules[name]);
    }
  })
}
export{
  install
}