我喜欢动态导入Typescript类。 我使用新的动态函数导入来运行所有程序,但是如何动态类导入?
我有一个肮脏的骇客,看起来像这样:
// main.ts
async function main2() {
const G = './test1'
const TASK_IMPORT_FUNCTION = await import(G)
const TASK_CLASS = TASK_IMPORT_FUNCTION.getTask()
const TASK = new TASK_CLASS(__dirname)
const R_TASK = TASK.run()
}
main2()
// test1.ts
export class Task {
constructor(inputCwd: string) {}
// ...
}
export function getTask() {
return Task
}
所以我的问题是:如何摆脱getTask()函数并以动态方式直接导入类?
// main.ts
async function main2() {
const TASK_IMPORT = await import(G)
const TASK_CLASS = TASK_IMPORT.Task
const TASK = new TASK_CLASS(__dirname)
const R_TASK = TASK.run()
}
main2()
答案 0 :(得分:0)
假设Task
类在task.ts
中,则可以使用动态导入:
const task = await import("./task");
当您需要导入时。