批量引入文件的两种方式

1,154 阅读1分钟

引入方式

const files = import.meta.glob('./module/*.js')
const files = import.meta.globEager('./module/*.js')
  • import.meta.glob 为过动态导入,构建时,会分离为独立的 chunk
  • import.meta.globEager 为直接引入

使用方式

const modules = {}
for (const key in files) {
    files[key]().then(res=>{
        modules[key.replace(/(\.\/module\/|\.js)/g, '')] = res.default
    })
}

Object.keys(modules).forEach(item => {
    modules[item]['namespaced'] = true
})

export default createStore({
    modules,
})
const modules = {}
for (const key in files) {
    modules[key.replace(/(\.\/module\/|\.js)/g, '')] = files[key].default
}

Object.keys(modules).forEach(item => {
    modules[item]['namespaced'] = true
})

export default createStore({
    modules,
})
  • 不光是可以引入文件,也可以引入文件夹和其下面的文件
const modules = import.meta.globEager('./modules/**/*.ts');

image.png