Как автоматически генерировать внешние компоненты для компилятора Google Closure - PullRequest
11 голосов
/ 24 ноября 2010

Предположим, вы работаете в проекте javascript с несколькими зависимостями от внешних библиотек и хотите скомпилировать свои источники с помощью компилятора Google Closure в режиме ADVANCED_OPTIMIZATIONS.

Поскольку в этом режиме компилятор будет переименовывать ваши вызовы кода для объектов и функций внешних библиотек, вы должны предоставить externs , чтобы предотвратить это переименование.

Но, создание большого количества экстентов вручную - это большая работа, так как лучше всего автоматически сгенерировать соответствующий extern из заданной библиотеки javascript?

Ответы [ 2 ]

6 голосов
/ 30 ноября 2010

См. Следующий URL в качестве отправной точки.Я бы также порекомендовал добавить информацию о типе в ваши внешние ссылки, чтобы максимизировать преимущества компилятора.

http://www.dotnetwise.com/Code/Externs/

0 голосов
/ 20 января 2011

Вы можете экспортировать свою функцию: окно ['myFunc'] = myFunc;

немного подробнее здесь: http://code.google.com/closure/compiler/docs/api-tutorial3.html#no

если вы действительно хотите extern для библиотек, которые вы импортируете из других мест (например, сервисные обертки, jquery и т. Д.), Тогда вам нужно передать extern в Если вы используете компилятор jar, вы указываете с помощью --externs, более подробно в ссылке выше

...