【发布时间】:2016-09-14 15:44:15
【问题描述】:
我正在使用工厂模式在打字稿中开发一个节点模块,我只想公开工厂类和接口。
结构:
iexp.ts
export interface IExp {
methodX();
}
A.ts
class A implements IExp {
}
B.ts
class B implements IExp {
}
工厂.ts
export class ExpFactory {
createInstance(type:string) : IExp{
if(type=="A") return new A();
else return new B();
}
}
所有类和接口都在它们自己的源文件中。我不想公开 A 类和 B 类,所以我没有使用 export 但是我也不能在 ExpFactory 类中使用它们。在 Java 中,类可以具有包范围,但我如何在 typescript 中做同样的事情?
【问题讨论】:
-
如果您想将这些类放在单独的文件中,则必须导出每个类。打字稿中没有与包访问修饰符等效的东西。您可以做的是将所有这些类导入单个模块,然后只导出您想要的内容,然后导入该模块并使用它
标签: java node.js typescript factory