TypeScript - 什么是'导出导入'?

Ole*_*lik 7 obsolete typescript

显然,你可以在TypeScript中说'export import xx = module("xx")'.

但是,这是什么意思?我在规范中没有看到.

Fen*_*ton 9

很好的观察.

这是一种组合技术,使整个导入的模块就像在封闭模块中创建的外部模块一样.这是一个缩短的例子:

module MyModule {
    export class MyClass {
        doSomething() {

        }
    }
}

declare module EnclosingModule {
    export import x = module(MyModule);
}

var y = new EnclosingModule.x.MyClass();
Run Code Online (Sandbox Code Playgroud)

export关键字本身使模块成为外部模块.在这种情况下,它正在制作MyModule封闭模块的外部模块,即使它最初未在封闭模块内部定义.

为什么?

我想这是重用模块的一种方便方式,而不是在不同的上下文中重复它们 - 使它们可以在不止一个地方访问,这似乎是合乎逻辑的.