具有动态添加功能的TypeScript和矩形变换

时间:2017-03-12 23:15:59

标签: javascript function typescript momentjs

我正在使用TypeScript和一个名为'moment-transform'的moment.js插件。

时刻变换动态地向时刻对象添加transform函数。用法是这样的:

import moment = require('moment');
require('moment-transform'); // simply adds transform function

moment().transform('YYYY-MM-+07 00:00:00.000').toDate();

但是,使用TypeScript构建时,我收到此错误:

error TS2339: Property 'transform' does not exist on type 'Moment'.

我如何正确处理动态添加的功能?

[edit] (moment() as any).transform('YYYY-MM-+07 00:00:00.000').toDate();似乎有效。这真的是要走的路吗?有没有可能全局指定?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法扩展moment定义:

在您的自定义时刻宣布moment的任何扩展名。时刻。

;

import * as moment from "moment";

declare module "moment" 
{
    interface Moment 
    {
        transform(a: string): Moment;
    }
}

并在您的“我的网站”中使用它

import * as moment from 'moment';

moment().transform('qw').toDate();

有关此事的更多信息:Module Augmentation