webpack批量导入
 
- webpack中使用 require.context实现自动导入
const files = require.context('./modules', false, /\.ts$/);
const modules = {};
files.keys().forEach((key) => {
     if (key === './index.ts') { return; }
     modules[key.replace(/(\.\/|\.ts)/g, '')] = files(key).default;
});
export default modules;
 
vite批量导入
 
- vite中使用 import.meta.glob实现自动导入
const modules = import.meta.glob('./dir/*.js')
const modules = {
  './dir/foo.js': () => import('./dir/foo.js'),
  './dir/bar.js': () => import('./dir/bar.js')
}
for (const path in modules) {
  modules[path]().then((mod) => {
    console.log(path, mod)
  })
}
const modules = import.meta.glob('./dir/*.js', { eager: true })
import * as __glob__0_0 from './dir/foo.js'
import * as __glob__0_1 from './dir/bar.js'
const modules = {
  './dir/foo.js': __glob__0_0,
  './dir/bar.js': __glob__0_1
}
const modules = import.meta.glob('./dir/*.js', { import: 'setup' })
const modules = {
  './dir/foo.js': () => import('./dir/foo.js').then((m) => m.setup),
  './dir/bar.js': () => import('./dir/bar.js').then((m) => m.setup)
}
const modules = import.meta.glob('./dir/*.js', { import: 'setup', eager: true })