Typescript规范提到您可以通过module(StringLiteral)
导入模块:
然而它对我不起作用:
module M
{
}
import test1 = M; // Okay
import test2 = module(M); // Okay
import test3 = module("M"); // Error
我错过了什么吗?
答案 0 :(得分:3)
当您使用字符串文字时,您告诉TypeScript这是一个外部模块。这将由具有顶级“导出”语句的文件夹中的该名称的另一个文件(即“M.ts”)定义(表示它是外部模块),或者通过声明存在这样的外部模块(例如,见“node.d.ts”在Node示例中键入,该示例声明了内置的Node模块。)
答案 1 :(得分:2)
module M { }
定义内部模块,而不是外部模块。
import test1 = module(M);
应该是语法的语法错误(M
不是字符串文字)。
module("M")
是一个错误,因为没有外部模块可以通过“M”解决(请参阅Bill的答案以获取更多信息)