在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;