打字稿内部模块

科恩

我正在使用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,仅当将导出导出到Bicycle类时才编译。当我将两个类都放在一个文件中时,一切正常。我在这里想念什么吗?

感谢您的宝贵时间,科恩

瑞安·卡瓦诺(Ryan Cavanaugh)

TypeScript中没有“模块内部”的概念。从您的直接模块声明(export外部可见(否export)。

如果您希望保留一些类型,可以对代码进行结构化,以使消费者可以更清楚地了解不应该使用哪些类型:

module Sample {
    export module Internal {
        export class Bicycle { }
    }
}

/* Somewhere else */
module Sample {
    export class MountainBike extends Internal.Bicycle {

    }
}

请注意,由于模块始终可以重新打开,因此这种方法与“内部模​​块”的概念一样“安全”。您可以认为这类似于C#中没有“公共名称空间”或“专用名称空间”的概念。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打字稿:从内部模块创建外部模块

来自分类Dev

打字稿:从内部模块创建外部模块

来自分类Dev

打字稿,无法加载内部模块

来自分类Dev

包装许多内部模块以在打字稿中导出

来自分类Dev

内部模块VSCode与WebStorm的打字稿单独文件

来自分类Dev

在打字稿内部模块中使用外部打字稿库

来自分类Dev

打字稿外部模块

来自分类Dev

打字稿外部模块

来自分类Dev

打字稿-内部模块中的导入声明无法引用外部模块

来自分类Dev

导出打字稿中的模块

来自分类Dev

打字稿找不到模块

来自分类Dev

打字稿创建模块

来自分类Dev

打字稿-无法扩充模块

来自分类Dev

打字稿找不到模块

来自分类Dev

打字稿模块作为功能

来自分类Dev

打字稿模块加载错误

来自分类Dev

从外部节点模块导入打字稿

来自分类Dev

Visual Studio代码:编译打字稿模块

来自分类Dev

打字稿:别名长模块名

来自分类Dev

如何使用打字稿编写节点模块?

来自分类Dev

打字稿无法找到Express模块

来自分类Dev

打字稿,需要模块作为类

来自分类Dev

每个文件夹的打字稿模块

来自分类Dev

如何使用打字稿编写marionettejs模块?

来自分类Dev

打字稿找不到模块'lunr'

来自分类Dev

打字稿从模块中提取返回类型

来自分类Dev

找不到打字稿模块无法解析

来自分类Dev

无法使用React解析打字稿模块

来自分类Dev

无法解析外部模块打字稿