Ionic2 / Cordova打字稿项目中的Moment.js插件

时间:2017-03-16 18:04:34

标签: angular cordova typescript ionic2 ionic3

在使用Typescript编写的Ionic 2项目中,我使用了moment.js库。 我使用代码段导入它:

import * as moment from 'moment';

在我这样做之后,在我的组件中我可以正常使用,即:

let endDate = moment(data.endDate);

但是,现在我想使用一个专用于moment.js的插件 - 来自此repo的时刻 - 工作日 - 计算:https://github.com/andruhon/moment-weekday-calc

我已经通过npm安装了插件,但我无法让它运行。 我试过了:

import * as moment from 'moment';
import 'moment-weekday-calc';

//(...) - 我的组件代码在这里

  let test = moment().isoWeekdayCalc({
    rangeStart: '1 Apr 2015',
    rangeEnd: '31 Mar 2016',
    weekdays: [1,2,3,4,5],
    exclusions: ['6 Apr 2015','7 Apr 2015'],
    inclusions: ['10 Apr 2015']
  }); //260

上面的代码会抛出错误:

Typescript Error
Property 'isoWeekdayCalc' does not exist on type 'Moment'.

任何想法如何在我的typescript应用程序中使用这个插件来进行离子/ cordova?

1 个答案:

答案 0 :(得分:3)

由于该错误只是抱怨isoWeekdayCalc未在moment的类型定义中定义的打字稿,因此您可以将其转换为any,如下所示:

let test = (<any>moment()).isoWeekdayCalc({
            rangeStart: '1 Apr 2015',
            rangeEnd: '31 Mar 2016',
            weekdays: [1,2,3,4,5],
            exclusions: ['6 Apr 2015','7 Apr 2015'],
            inclusions: ['10 Apr 2015']
        }); //260