// vue2 实现
// const allModules = require.context('./dynamicModule', false, /\.js$/);

// export default function (moduleName, params) {
//     return new Promise((resolve, reject) => {
//         allModules.keys().forEach((key) => {
//             const regx = key.replace('./dynamicModule/', '').replace('.js', '');
//             if (regx === moduleName) {
//                 allModules(key).then((module) => {
//                     resolve(module.default(params));
//                 });
//             }
//         });
//     });
// }

/**
 * webpack中使用方法
 * 参数一指定目录，参数二是否递归子文件夹，参数三匹配规则
 * const allModules = require.context('./dynamicModule', false, /\.js$/);
 */
/** vite中使用 */
const allModules = import.meta.glob('./dynamicModule/*.js');

export default async function (moduleName, params) {
    console.log('所有可以动态加载的js模块', allModules);
    for (const key in allModules) {
        const regx = key.replace('./dynamicModule/', '').replace('.js', '');
        if (regx === moduleName) {
            let module = await allModules[key]();
            console.log('异步加载成功之后的module', module);
            let res = module.default(params);
            return res;
        }
    }
}
