【发布时间】:2018-08-15 04:25:28
【问题描述】:
我喜欢动态导入 Typescript 类。 我使用新的动态函数导入运行了所有内容,但是如何导入动态类?
我有一个有点脏的 hack,看起来是这样的:
// 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()
【问题讨论】:
-
如果你只写
const TASK_CLASS = TASK_IMPORT_FUNCTION.Task会发生什么? -
这正在运行 :-) 那时我是盲人。非常感谢!
标签: typescript import