Chiama una variabile globale all’interno del modulo Typescript

Ho un file typescript chiamato Projects.ts che voglio fare riferimento a una variabile globale dichiarata in un plugin di bootstrap chiamato bootbox.js .

Voglio accedere a una variabile chiamata bootbox all’interno delle classi typescript.

È ansible?

Devi dire al compilatore che è stato dichiarato:

 declare var bootbox: any; 

Se si dispone di informazioni di tipo migliore è ansible aggiungere anche questo, al posto di any .

Per coloro che non lo sapevano già, dovresti mettere la declare dichiarativa al di fuori della tua class questo modo:

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

In TypeScript la parola chiave declare viene utilizzata dove si desidera definire una variabile che potrebbe non essere originata da un file TypeScript .

È come se dicessi al compilatore che, so che questa variabile avrà un valore in fase di runtime, quindi non lanciare un errore di compilazione.

Se è qualcosa a cui fai riferimento ma non muti mai, usa const :

 declare const bootbox; 

Le soluzioni Sohnee sono più pulite, ma puoi anche provare

 window["bootbox"] 

Scarica i [tipi di bootbox] ( https://www.nuget.org/packages/bootbox.TypeScript.DefinitelyTyped/ )

Quindi aggiungi un riferimento al file .ts.