这是关于the differences between internal and external modules的问题的后续(某种)。
我想使用外部模块,因为我们将要有一个非常大的程序。问题是,如果我创建一个类rectangle.ts:
export class Rectangle {
public x : number;
public y : number;
public width : number;
public height : number;
}
然后使用以下方式访问它:
import rectangle = require("rectangle");
// or is it "import rectangle = module("rectangle");"?
var rect = new rectangle.Rectangle();
如果那里有另一个Rectangle类会怎么样?我是否需要担心命名空间冲突?或者我是安全的,因为我有需要的调用,并且正在使用.ts文件来清楚地指定类,并且全局命名空间中没有任何内容?
答案 0 :(得分:1)
如果您有许多矩形模块,您可以选择在导入它们时为它们命名。该模块仅存放在您的别名中,否则不会污染您的范围。
例如:
import rectangle = require(./rectangle');
import differentRectangle = require('./folder/rectangle');
var rect = new rectangle.Rectangle();
var rectB = new differentRectangle.Rectangle();
另外,现在是require
,而不是module
。