0
我們正在將一些javascript轉換爲打字稿。我們有我們拉出到由我們維護的其他JavaScript庫現有的一些功能,例如:擴展名稱不同的模塊
Framework.utils = {
utilFnOne: function()...,
utilFnTwo: function()...,
utilFnThree: function()...,
}
我們也有一些實用工具,我們在非框架代碼使用是這樣的:
Current.utils = Framework.utils; // Extend the framework's utils
Current.utils.utilFnFour = function()...;
Current.utils.utilFnFive = function()...;
打字稿
我們可以創建一個框架庫定義如下:
declare module Framework.utils {
export function utilFnOne();
export function utilFnTwo();
export function utilFnThree();
}
我們可以做這樣的事情創建一個Current.utils打字稿定義:
module Current.utils {
export function utilFnFour() {}
export function utilFnFive() {}
export class StringUtils { }
}
這將是很好,如果我們可以做這樣的事情:
module Current.utils extends Framework.utils { .... }
使智能感知會展示來自Framework和Current的會員
Current.utils.
編輯 - 分辨率
我把這個想法,瑞安曾和修改稍微
Framework.d.ts
declare module Framework {
export var util: _utilImpl;
export class _utilImpl {
utilFnOne(a: string) : string;
}
}
Current.ts
module Current {
export var util = new _utilImpl();
export class _utilImpl extends Framework._utilImpl {
utilFnTwo(b: number) : number;
}
}