webpack 下 引入文件夹下所有文件
const modulesFiles = require.context('../example', true, /\.vue$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
export default modules
vite 引入文件夹下文件
在vite项目中,可以使用ES6的import.meta.glob方法来引入一个文件夹下的所有文件。
具体步骤如下:
在需要引入文件的地方,使用import.meta.glob方法。
const modules = import.meta.glob('./path/to/directory/*.js')
Object.keys(modules).forEach((key) => {
modules[key]()
})
上述代码中,import.meta.glob方法接收一个包含通配符的模式字符串作为参数,并返回一个可以迭代的对象,其中每个属性名对应着匹配到的文件路径。
接着,可以循环遍历Object.keys(modules),并调用相应的模块函数来动态引入文件。
上述代码中,我们可以看到,通过import.meta.glob方法将所有.js文件引入,并循环调用对应的js文件执行。