помочь с основами компилятора Google Closure - PullRequest
0 голосов
/ 01 августа 2011

У меня проблемы с пониманием основного процесса использования службы API компилятора Google Closure.Я просто уйду с некоторыми вопросами:

  1. Должен ли я включить файл base.js для closure в список файлов, которые я отправляю для компиляции?
  2. deps.js слишкомбольшой, чтобы отправить.Должен ли я включать его сам или сервис компилятора будет использовать свою собственную копию?
  3. Насколько я понял, одной из особенностей компилятора является то, что он анализирует операторы "require" ивключает необходимый код в вывод.Например, если я перейду к интерактивному инструменту пользовательского интерфейса , он предоставит и введет следующее в поле ввода:

    goog.require("goog.dom");
    goog.dom.getElement("test");
    

и нажму "compile", яожидал получить достаточно кода закрытия Google для выполнения этого фрагмента.Вместо этого я просто получаю то же самое обратно (без пробелов).Что я не понимаю?

И, наконец, служба компиляции Google имеет ограничение размера 200 КБ для файлов, которые вы отправляете. Я использую пакет PHP под названием Minify, который позволяет вам отправлять список файлов, которыеотправляются через службу по одному, и, вероятно, именно так Google ожидает, что вы будете иметь дело с лимитом 200К.Предполагается, что компилятор проверяет, скажем, что ни одна из ваших личных переменных нигде не является общедоступной, что, по-видимому, подразумевает, что он должен был бы знать все файлы в списке, чтобы убедиться, что класс, определенный в файлеA не нарушается в файле B. Это так?Служба как-то запоминает каждый файл как проанализированный, сохраняет его в памяти и перепроверяет все?Или моё понимание ещё ошибочно?

Спасибо, ребята!

Ответы [ 2 ]

2 голосов
/ 01 августа 2011

Если вы выберете «Библиотеку закрытия» из выпадающего списка для «добавления URL», к конфигурациям, которые она добавит:

// @ use_closure_library=true

Это заставит веб-сервис включать источник для «goog»..require ", которая может быть удовлетворена самой библиотекой закрытия.Если какой-либо из ваших goog.requires должен быть удовлетворен вашим собственным кодом, вы должны включить URL-адрес вручную.

В какой-то момент вы, вероятно, захотите запустить свой собственный сервис компиляции, для которого вам может пригодиться проект Майкла Болина Plovr.:

http://code.google.com/p/plovr/

0 голосов
/ 03 октября 2011

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

...