Как использовать компилятор Google Closure

Я пытаюсь перейти со сценария closurebuilder.py на компилятор закрытия из-за этого сообщения :

../../closure-library/closure/bin/build/closurebuilder.py: Closure Compiler now natively understands and orders Closure dependencies and

предпочтительнее использовать этот скрипт для выполнения компиляции JavaScript

Поскольку я использую библиотеку закрытия Google и OpenLayers 3, как мне вызвать компилятор (compiler.jar) для

  • Создайте файл зависимостей myapp-deps.js
  • Создайте уменьшенную версию myapp.js, включающую только используемые классы OL3 и CL.
  • Сборка с использованием предварительно рассчитанных файлов зависимостей OL3 и CL (например, ol3-deps.js)

Далее скажем, что все расположено в следующей структуре. Это почти то же самое, что и мой собственный проект, но он слишком большой и сложный, чтобы публиковать его здесь напрямую.

project/
    src/
        js/
            <some other js "required" in myapp.js>
            myapp.js
            myapp-deps.js                 # This should be the dependency file
        lib/
            closure/goog/...
            third_party/closure/goog/...  
            myapp.js                      # This should be the minified version
    ol3/

Я благодарен за каждую подсказку.


person Sebastian Barth    schedule 04.12.2014    source источник


Ответы (1)


Closure Compile теперь может управлять зависимостями Closure, то есть зависимостями, определенными с помощью goog.provide и goog.require в коде JavaScript. Таким образом, вам больше не нужно использовать скрипт closurebuilder.py. И именно поэтому он устарел.

См. вики-страницу https://github.com/google/closure-compiler/wiki/Manage-Closure-Dependencies, чтобы узнать об опциях/флагах, которые компилятор Closure предоставляет для этого.

Что касается создания файлов deps, которые могут потребоваться для загрузки файлов js один за другим в целях отладки/разработки, вам все равно понадобится сценарий depswriter.py библиотеки Closure. У Closure Compiler нет инструмента или флага для этого. Чтение https://github.com/google/closure-library/issues/382 depswriter.py больше не используется в Google, но похоже, что сценарий все еще поддерживается.

person erilem    schedule 05.12.2014