import.meta.globEager 代替 require

2021-08-14  本文已影响0人  申_9a33

在使用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;
上一篇下一篇

猜你喜欢

热点阅读