2013-08-11 5 views
23

Как явно объявить переменную в глобальном пространстве имен из машинописного текста?объявить глобальную переменную пространства имен из TypeScript

мне нужен компилятор генерировать следующий яваскрипта код:

MyExtension = someFunction() 

, к сожалению, я могу только он генерировать

var MyExtension = someFunction() 

Это приходит к проблеме с последней версией (все еще в гс) метеорных пакетов. Метеор ввел путь к пространству имен пространств в пакетах - проблема в том, что переменная должна быть определена в глобальном пространстве имен (где метеориты перенаправляются на собственный объект пакета).

Существует видео об этом на https://www.eventedmind.com/posts/meteor-linker-package-namespacing.

Есть ли какие-либо global ключевое слово доступно или в планах?

ответ

68

Используйте ключевое слово declare. Они известны как эмбиентные декларации.

declare var MyExtentention:any; 
+1

+1 точка на ответе. – Fenton

+4

По моему опыту, это должно быть в верхней части файла. Если вы разместите это внутри другого объявления переменной, например, рядом с тем, где вы используете глобальную переменную, компилятор будет жаловаться на то, что «Модификаторы не могут отображаться здесь». – Josh

Смежные вопросы