我是因为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对象。
谢谢!
答案 0 :(得分:0)
使用IDateJSStatic,我的homecomponent中的示例:
export class HomeComponent implements OnInit {
pageTitle: string = 'Home';
DateJs: IDateJSStatic = <any>Date;
constructor() { }
ngOnInit(): void {
console.log(this.DateJs.today());
};
}
希望有所帮助