我正在尝试在TypeScript中动态加载类,使它可以部分工作,但是我想知道是否可以在没有默认导出的情况下使其工作:
export default class Test extends Base {
...
register(new (await import(file)).default())
编辑:感谢Dhananjai的回答,我找到了这个解决方案: (解析来自路径,我正在使用glob获取目录中文件的所有路径)
for (const file of files) {
try {
const { name } = parse(file)
const command = new (await import(file))[name]()
this.register(command)
} catch {
return logger.error(`${file} is either not exporting a class or the file name does not match the exported class name`)
}
}
答案 0 :(得分:0)
应该很简单
export class Test extends Base
...
register(new (await import(file)).Test())