0

Typescript 规范提到您可以通过以下方式导入模块 module(StringLiteral)

按字符串导入

但是它对我不起作用:

module M
{
}
import test1 = M; // Okay 
import test2 = module(M); // Okay 
import test3 = module("M"); // Error 

我错过了什么吗?

4

2 回答 2

3

当您使用字符串文字时,您是在告诉 TypeScript 这是一个外部模块。这将由文件夹中具有顶级“export”语句(表示它是外部模块)的另一个具有该名称的文件(即“M.ts”)定义,或者通过声明此类外部模块存在(例如,参见“node.d.ts”键入声明内置节点模块的节点示例)。

于 2013-03-19T01:46:07.200 回答
2

module M { }定义一个内部模块,而不是一个外部模块。

import test1 = module(M);应该是每个语法的语法错误(M不是字符串文字)。

module("M")是一个错误,因为“M”没有可以解决的外部模块(有关更多信息,请参见比尔的回答)

于 2013-03-19T01:47:57.000 回答