我如何实例化一个类(例如,使用一个已知的空构造函数),
在api/EmptyClass1.ts
,我有:
export default class EmptyClass1 {
}
在api/EmptyClass2.ts
,我有:
export default class EmptyClass2 {
}
我想要这个功能:
function(filepath:string):any{
return Object.fromFile(filepath); //this line is mock code
}
如果参数EmptyClass1
分别为EmptyClass2
或filepath:string
,则返回"api/EmptyClass1.ts"
或"api/EmptyClass2.ts"
的新实例。
定义类的文件在编写函数时可能未知,其中可能包含任意数量的文件。因此,对每个类都使用import
语句,然后使用switch或if-then语句是不可接受的解决方案。
定义类的.ts文件被转码为javascript,并作为.js文件驻留在应用程序.build文件夹中。
我在node.js(最新版本)上使用打字稿。
答案 0 :(得分:1)
改为使用require
,您的问题将得到解决。如果该文件可能不存在,则如果要回退而不使用try/catch
,则可以使用optional-require。
function fromFile(filepath:string):any{
// return Object.fromFile(filepath); //this line is mock code
return require(filepath);
}
或者直接调用require
而不是将其包装在另一个函数中。