使用来自基于 Typescript 的 Angular2 项目的 javascript 库

Using javascript library from Typescript based Angular2 project

我正在尝试使用 Angular 2 和 Typescript 创建一个概念验证应用程序。我想合并 toastr 通知库,并希望有一种简单的方法可以在没有定义文件的情况下获得它 运行。

我在我的公共服务目录中创建了一个名为 toastr.d.ts] 的文件:

  declare module "toastr" {
//   var noTypeInfoYet: any; 
//   export = noTypeInfoYet;
}

从服务中调用 common.ts

 /// <reference path="toastr.d.ts" />
import {Injectable} from 'angular2/core';
import {toastr} from 'toastr';

@Injectable()
export class Common {

  constructor() {}
  
  log(message:string){
      toastr(message);
      console.log(message);
  }

}

但是我得到了编译错误: [DiffingTSCompiler]: Typescript 发现以下错误: app/services/common/common.ts (3,9): 模块 '"toastr"' 没有导出成员 'toastr'.

所有代码都可以在Cloud 9

上找到

以下:

import {toastr} from 'toastr';

错了。 toastr 不导出变量 toastr 实际上 根级导出是 toastr。修复:

import * as toastr from 'toastr';