import.meta.globEager 代替 require.context 自动导入文件

在使用vite 时,发现不能使用require.context 自动导入modules,可以使用import.meta.globEager替换

require 自动引入实现

const files = require.context('.', false, /\.ts$/);
const modules = {};
files.keys().forEach((key) => {
     if (key === './index.ts') { return; }
     modules[key.replace(/(\.\/|\.ts)/g, '')] = files(key).default;
});
export default modules;

import 自动引入实现

const files = import.meta.globEager("./*.ts")
const modules: any = {};

for (const key in files) {
    if (Object.prototype.hasOwnProperty.call(files, key)) {
        modules[key.replace(/(\.\/|\.ts)/g, '')] = files[key].default
    }
}

export default modules;

你可能感兴趣的:(import.meta.globEager 代替 require.context 自动导入文件)