我正在使用TypeScript内部模块将我的代码构建为逻辑块。 (很像C#程序集或Java jar)。
执行此操作时,此类内部模块中的TypeScript类将被拆分 不同的文件(每个类一个文件)。但是,只有在导出这些类时,才能引用此模块中的类。
当然,我想将一些类保留在我的模块内部。 例如,假设我想将这两个类保持在内部。
/// Bicycle.ts
module Sample {
class Bicycle {
}
}
/// Mountainbike.ts
/// <reference path="Bicycle.ts" />
module Sample {
class Mountainbike extends Bicyle {
}
}
使用visual studio 2013,这仅在将自行车类导出时进行编译。 当我将两个类放在一个文件中时,一切正常。 我在这里错过了什么吗?
谢谢你的时间, 柯恩
答案 0 :(得分:0)
没有&#34;模块内部&#34;的概念。在TypeScript中。从您的直接模块声明(export
)外部可以看到事物(export
)或者没有(module Sample {
export module Internal {
export class Bicycle { }
}
}
/* Somewhere else */
module Sample {
export class MountainBike extends Internal.Bicycle {
}
}
)。
如果您有一些类型,并且您希望保持独立,则可以构建代码,以便消费者更清楚哪些类型不应使用:
{{1}}
请注意,由于模块总是可以重新打开,因此这种方法同样是安全的[&#39;因为它有一些模块内部的概念。您可以将此视为类似于没有&#34;公共命名空间&#34;的概念。或者&#34;私有命名空间&#34;在C#。