1. 程式人生 > >TypeScript 學習筆記 之 模組的解析

TypeScript 學習筆記 之 模組的解析

Namespacing

Namespace 的幾個特點。

  1. 宣告方式:
namespace Validation{
  // 模組中其他程式碼
}
  1. namespace 可以在多個檔案中宣告。
    要引用名稱空間中的其他組成部分。需要通過 /// <reference path="Validation.ts"/> 來告訴編譯器。
    在生成程式碼時,編譯器可以通過 reference 宣告來確定他們的順序,這一方法同樣適用於生成 <script> 標籤。

Aliases

可以通過 import q = x.y.z 的形式來為常用的名稱空間比較深的物件建立別名。

跟其他 JS 庫協同

類似模組,同樣也可以通過為其他 JS 庫使用了名稱空間的庫建立 .d.ts 檔案的宣告檔案,如為 D3 JS 庫,可以建立這樣的宣告檔案:

declare namespace D3{
    export interface Selectors { ... }
}
declare var d3: D3.Base;

Namespaces 與 Modules 的區別

Namespaces 就好比是一個簡單的 JS 全域性物件。所以他們的區別是很明顯。
另外現在 Modules 才是推薦的組織程式碼結構的方式。除非很有必要使用一個名稱空間否則不不建議使用。

參考 :
Namespaces
Namespaces and modules



作者:一半晴天
連結:https://www.jianshu.com/p/e454ab636bcf
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。