TypeScript扩展第三方库moment.js

时间:2018-01-12 13:23:26

标签: javascript typescript momentjs typescript-typings

我只想在Moment接口的原型中添加一个函数,无论何时使用,它都会以相同的方式格式化。 我已经尝试了可以​​在这里找到的东西。

declare module moment {
    export interface Moment {
        myFormat: () => string;
    }
}

在其他一些文件中,实现:

Moment.prototype.myFormat = ():string => { return this.format("DD.MM.YYY"); }

但是,这不起作用。我只是希望能够致电moment(aDate).myFormat(),但我无法让它发挥作用。

已尝试使用declare module "moment"moment.Moment的某些变体但仍然相同。

如链接中所示,未使用declare。但后来我得到了错误

  

'声明'顶级元素所需的修饰符。

1 个答案:

答案 0 :(得分:0)

这是有效的

import moment from 'moment';
declare module 'moment' {
   export interface Moment {
     myFormat: () => string;
   }
 }
moment().myFormat();