2013-08-11 15 views
23

Come dichiarare esplicitamente una variabile nello spazio dei nomi globale da dattiloscritto?declare variabile namespace globale da TypeScript

Ho bisogno del compilatore per generare il seguente codice javascript:

MyExtension = someFunction() 

purtroppo, posso avere solo generare

var MyExtension = someFunction() 

Questo viene a un problema con l'ultima versione (ancora in RC) di pacchetti di meteore. Meteor ha introdotto un modo per definire gli spazi dei nomi nei pacchetti: il problema è che la variabile deve essere definita nello spazio dei nomi globale (che viene rimandata al proprio oggetto Pacchetto).

C'è un video su di esso a https://www.eventedmind.com/posts/meteor-linker-package-namespacing.

Esiste qualche tipo di parola chiave global disponibile o nei piani?

risposta

68

Utilizzare la parola chiave declare. Queste sono note come dichiarazioni ambientali.

declare var MyExtentention:any; 
+1

+1 punto sulla risposta. – Fenton

+4

Nella mia esperienza, questo deve andare all'inizio del file. Se lo posizioni all'interno di un'altra dichiarazione di variabile, ad esempio vicino a dove stai usando la variabile globale, il compilatore si lamenterà che "I modificatori non possono apparire qui". – Josh