1、TypeScript模塊:
模塊是在其自身的作用域里執行,并不是在全局作用域,這意味著定義在模塊里面的變量、函數和類等在模塊外部是不可見的,除非明確地使用 export?導出它們。類似地,我們必須通過 import?導入其他模塊導出的變量、函數、類等。
兩個模塊之間的關系是通過在文件級別上使用 import 和 export?建立的。
2、模塊導出使用關鍵字export 關鍵字,語法格式:
// 文件名 : SomeInterface.ts
export interface SomeInterface { // 代碼部分
}
要在另外一個文件使用該模塊就需要使用?import?關鍵字來導入:
import someInterfaceRef = require("./SomeInterface");
實例:
IShape.ts 文件代碼:
/// <reference path = "IShape.ts" />
export interface IShape { draw();
}
Circle.ts 文件代碼:
import shape = require("./IShape");
export class Circle implements shape.IShape { public draw() { console.log("Cirlce is drawn (external module)"); }
}
Triangle.ts 文件代碼:
import shape = require("./IShape");
export class Triangle implements shape.IShape { public draw() { console.log("Triangle is drawn (external module)"); }
}
estShape.ts 文件代碼:
import shape = require("./IShape");
import circle = require("./Circle");
import triangle = require("./Triangle"); function drawAllShapes(shapeToDraw: shape.IShape) {shapeToDraw.draw();
} drawAllShapes(new circle.Circle());
drawAllShapes(new triangle.Triangle());
執行結果:
Cirlce is drawn (external module)
Triangle is drawn (external module)