打字稿内部模块

时间:2014-03-17 07:23:07

标签: typescript

我正在使用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,这仅在将自行车类导出时进行编译。 当我将两个类放在一个文件中时,一切正常。 我在这里错过了什么吗?

谢谢你的时间, 柯恩

1 个答案:

答案 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#。