Typescript 类型脚本:到达类而不导出它

Typescript 类型脚本:到达类而不导出它,typescript,Typescript,假设我有这些类,每个类都有自己的文件: ///my folder/a.ts class A { // ... } ///my folder/b.ts class B { // ... } ///my folder/c.ts class C { a = new A(); b = new B(); } export const createC = () => new C(); 在Typescript中是否可以这样做?我建议将代码拆分为模块文件夹。每个文件夹都有导出外部公共类

假设我有这些类,每个类都有自己的文件:

///my folder/a.ts

class A { // ... }
///my folder/b.ts

class B { // ... }
///my folder/c.ts

class C {
   a = new A();
   b = new B();
}

export const createC = () => new C();

在Typescript中是否可以这样做?

我建议将代码拆分为模块文件夹。每个文件夹都有导出外部公共类的
index.ts
文件。未在
index.ts中列出的类仍然可以导入,但通过直接链接-typescript可以导入

但无论如何,这种方法创造了一些结构和逻辑

我已经为你创建了一个小型的stackblitz


我希望它能有所帮助。

不,为了能够使用其他文件中的类,您必须导出类。但在我导出的那一刻,每个人都可以实例化类A和B。没有办法在TS中模拟包作用域(如Java)吗?谁是所有人?尽管您正在做的工作都很好,你可以使用
createC
来实例化
C
,如果你要发布一个库,你不必导入
C
,只要不要从库索引/main重新导出这些类我想知道我是否可以阻止任何人(包括我自己在编写客户端代码时)实例化一些类,但也可以将类逻辑地拆分为单独的文件。似乎在TS中是不可能的(至少现在还不可能)。