2014-11-05 101 views
1

我正在使用打字稿構建nodejs應用程序。我使用了幾個外部庫,如express.js。許多人都認爲這個圖書館的設計是可擴展的。使用打字稿中的d.ts擴展外部模塊

我想通過添加自定義方法來擴展它。打字稿最佳做法是什麼?

我想從它繼承一個類,但它的d.ts沒有定義任何類(顯然)。我可以擴展接口:

declare module Express { 
    export interface Application { 
     foo(); 
    } 
} 

但我不知道如何實際執行它。

任何幫助,將不勝感激。

回答

0

您不應該將成員直接添加到Application除非您想要製作一個可供其他人使用的可重用庫。如果確實如此,您將需要功能攔截(http://basarat.github.io/this-and-prototype/#/apply)。

我建議只做一個實用功能。

+0

攔截,混入,效用函數不是面向對象方法。不是我真正想要的。如果我認爲沒有乾淨的解決方案,我是對的嗎? – kataik 2014-11-06 08:30:25

+0

如果你想改變'應用程序'的工作方式,攔截是要走的路 – basarat 2014-11-07 00:09:50