如果没有“ require()”,`import =`格式如何工作?

时间:2018-06-21 01:10:58

标签: typescript

我看到类似

import foo = Bar.baz.lorem;

在某些源代码中,它没有require()调用。如果导入,这是旧表格吗?我在文档中没有看到任何示例。

1 个答案:

答案 0 :(得分:2)

这是TypeScript语法,用于从namespaces(而不是模块)导入。曾经有一段时间,名称空间被称为“内部模块”,而模块被称为“外部模块”。因此,命名空间中的import可用于为该命名空间中定义的某些实体引入别名:

namespace Bar {
    export namespace baz {
        export const lorem = 42;
    }
}

import foo = Bar.baz.lorem;

import被编译成简单的var语句

var foo = Bar.baz.lorem;

,除了名称混乱之外,与ES6或CommonJS模块无关。