2013-10-15 59 views
5

我正在爲當前沒有的JS庫編寫TypeScript定義文件(.d.ts)。打字稿定義文件中接口的命名空間

其他.d.ts文件似乎把所有的類型分爲「全局」命名空間(如果你明白我的意思),而我努力做到以下幾點:

// root valerie object 
// 
declare var valerie: Valerie.ValerieStatic; 

// additional types for Valerie (all inside this virtual namespace) 

declare module Valerie { 

    // 
    // Static methods on valerie namespace 
    // 
    interface ValerieStatic { 
     // definitions go here..... 

這意味着我如果它們存在,不要讓我的界面與其他界面交叉。

我的問題是 - 它似乎工作,但是這種方法可能存在問題嗎?

回答

2

通常這是一個很好的方法。如果Valerie模塊中有一些接口類型可能會讓人們經常使用,那麼可以考慮將它們提升爲頂層,以便引用它們更方便。

+0

感謝您的確認 - 我想知道爲什麼其他人不遵循這種方法,這使我擔心我錯過了真正的道路。 :) – Quango