当来自 NPM 时扩展 Typescript 定义文件 (.d.ts)
我扩展了 moment 来管理公共假期(基于法国日历)。所以我也扩展了 TypeScript 定义文件,但之前我使用 tsd 和 /// <reference。这工作得相当好。我的 .d.ts 内容如下:
/// <reference path="../moment/moment.d.ts" />
declare module moment {
interface Moment {
weekDays(date: Moment): number;
weekendDays(date: Moment): number;
addWeekDays(days: number): Moment;
subtractWeekDays(days: number): Moment;
isWeekDay(): boolean;
isWeekendDay(): boolean;
}
}
现在我切换到了 typings,并且在 tsconfig.json 中引用了 .d.ts。我使用的是它的 npm 包中的 moment 定义,但我的 .d.ts 不再起作用。我改成了这个:
declare namespace moment {
interface Moment {
weekDays(date: Moment): number;
weekendDays(date: Moment): number;
addWeekDays(days: number): Moment;
subtractWeekDays(days: number): Moment;
isWeekDay(): boolean;
isWeekendDay(): boolean;
}
}
但这行不通,然后我尝试了这个:
declare module 'moment' {
interface Moment {
weekDays(date: Moment): number;
weekendDays(date: Moment): number;
addWeekDays(days: number): Moment;
subtractWeekDays(days: number): Moment;
isWeekDay(): boolean;
isWeekendDay(): boolean;
}
}
这将删除原始时刻的 .d.ts 文件...
我如何扩展这个 .d.ts 文件?