Можно ли использовать Closure Compiler ADVANCED_OPTIMIZATIONS с jQuery? - PullRequest
4 голосов
/ 25 октября 2010

Я получаю ошибки, что функция (переименованная) не существует для данного объекта. Есть ли релиз или настройка или что-то, чтобы заставить его работать?

Ответы [ 3 ]

11 голосов
/ 20 мая 2012

Вы должны использовать файл externs для jQuery при использовании расширенного режима компилятора Closure с jQuery. Файл Extern сообщит компилятору, что это зарезервированные методы, и что эти типы данных аргументов и аргументов должны быть такими, поэтому не сокращайте имена методов и не проверяйте типы данных аргументов таким образом.

Вы можете получить файл externs, созданный разработчиками Google здесь . Этот файл создан для jQuery-1.4.3. Но в настоящее время, вероятно, будет работать любая версия jQuery. Недавно добавленные методы могут не включаться в этот файл, поэтому вы должны добавить его в файл externs, синтаксис и синонимы которого так просты.

Также вы можете указать расположение файла externs для компилятора, используя дополнительный флаг компилятора. Синтаксис должен быть таким

--compiler_flags= "--externs=path/to/jquery.externs.js"

Также вы можете использовать этот инструмент , который является онлайн-экстрактором externs для Closure Library.

6 голосов
/ 25 октября 2010

Вы должны объявить jQuery как extern компилятору ... однако я не уверен, что кто-то его создал, был файл extern для 1.3.2 ,но я не видел версий 1.4+.

Редактировать: В этой теме есть сообщество, создающее версию 1.4 .

2 голосов
/ 10 марта 2011

jQuery не совместим (пока) с компилятором Closure в расширенном режиме. Я согласен, что было бы очень хорошо сделать его совместимым, потому что его синтаксис цепочки методов очень легко позволяет виртуализировать прототипы для значительно улучшенной скорости выполнения.

Фактически, из популярных библиотек JavaScript (кроме Closure Library, то есть) только Dojo Toolkit совместим с режимом Closure Advanced.

http://dojo -toolkit.33424.n3.nabble.com / файл / n2636749 / Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf? По-пользователя = т

...