在Typescript模块中调用全局variables

我有一个名为Projects.ts的打字稿文件,我想引用一个名为bootbox.js的引导程序插件中声明的全局variables。

我想从打字稿类中访问一个名为bootbox的variables。

可能吗?

你需要告诉编译器它已经被声明了:

 declare var bootbox: any; 

如果你有更好的types信息,你也可以添加,以取代any

对于那些还不知道的人,你必须把这个declare语句放在你的class之外,就像这样:

 declare var Chart: any; @Component({ selector: 'my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.scss'] }) export class MyComponent { //you can use Chart now and compiler wont complain private color = Chart.color; } 

TypeScript ,declare关键字用于要定义可能不是源自TypeScript文件的variables。

这就像你告诉编译器,我知道这个variables在运行时会有一个值,所以不要抛出一个编译错误。

索尼解决scheme更清洁,但你也可以尝试

 window["bootbox"] 

如果它是你引用但从不变异的东西,那么使用const

 declare const bootbox;