在typescript中使用es5-library中的全局变量时出错

时间:2016-06-13 08:27:12

标签: dependency-injection typescript angular ecmascript-6

我正在使用Angular 2和Ionic开发应用程序。我正在为Cordova使用蓝牙库,所以不要使用ES6模块和导出。

该库定义了一个名为' bluetoothle'的全局变量,它在我运行时按预期工作。但是,我收到了来自typescript编译器的很多抱怨。我想要:

  • (首选)有更好的方法将ES5库导入我的打字稿项目。
  • 告诉编译器忽略此错误。
  • 声明变量,然后让库为其赋值(但是,我不知道如何在ES6中按照可能的方式声明全局变量。

提前致谢, 马库斯

1 个答案:

答案 0 :(得分:1)

你有两个选择,取决于你想要投入多少工作。

第一个简单的选择是将变量声明在顶部。这将告诉TypeScript这是any类型的变量,并且它不需要关心它来自哪里或它有哪些成员:

declare var bluetoothle;

另一条路线更干净,但更多的工作就是写type definition file