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;
}
}