为datejs安装的打字不适合我

时间:2016-08-23 11:51:57

标签: angular typescript typescript-typings

我是因为Angular 2而开始使用的Typescript的新手。我想使用Javascript库datejs。

要在我的Angular 2项目中使用它,我通过npm安装了datejs并确认它列在我的package.json中。另外我安装了通过DefinitelyTyped(dt)提供的打字。当我做“打字列表”时,它表明datejs打字包含在全球范围内。

然后在我的组件中我有:

import 'datejs'
//declare var Date: any;

但是当我运行tsc然后它会抱怨因为显然datejs没有扩展Date对象,例如:

error TS2339: Property 'next' does not exist on type 'Date'.

但是,当我取消注释Date的声明时,它的工作正常。根据我的理解,这意味着我当时没有使用我安装的打字。我在这里缺少什么?

我想这里的事情复杂化的是,datejs不会导出模块,因为它扩展了默认的Javascript Date对象。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用IDateJSStatic,我的homecomponent中的示例:

export class HomeComponent implements OnInit {
    pageTitle: string = 'Home';
    DateJs: IDateJSStatic = <any>Date;

    constructor() { }

    ngOnInit(): void {

      console.log(this.DateJs.today());
    };
}

希望有所帮助