Использование Plovr для компиляции модулей
Я пытаюсь скомпилировать мои файлы JavaScript, используя Plovr, как определено в файле конфигурации ниже:
{
"id": "hello_demo",
"paths": ".",
"closure-library": "closure-library/closure/goog/",
"mode": "ADVANCED",
"level": "DEFAULT",
"pretty-print": true,
"externs": ["prototype.js"],
"modules": {
"core_scripts": {
"inputs": "core_scripts.js",
"deps": []
},
"add_new_item": {
"inputs": "add_new_item.js",
"deps": "core_scripts"
}
},
"module-output-path": "build/module_%s.js"
}
Я запускаю сервер Plovr, используя команду ниже:
java -jar c:/wf/my_project/plovr/plovr.jar serve c:/wf/my_project/js/plovr-config.js
Я тогда иду в http://localhost:9810/compile?id=hello_demo
в веб-браузере и после завершения компиляции он показывает мне только скомпилированный код "core_scripts.js"
Я ожидаю, что компилятор создал два скомпилированных файла JavaScript в "c:/wf/my_project/js/build/", но там ничего нет.
Я что-то пропустил?
Спасибо за вашу помощь заранее.
2 ответа
Вы используете команду "serve" plovr, которая просто запускает сервер (и компилирует его на сервере без генерации статических файлов). Вы хотите запустить команду "build" (с теми же параметрами), чтобы сгенерировать файлы на локальном сервере, например так:
java -jar c: /wf/my_project/plovr/plovr.jar build c: /wf/my_project/js/plovr-config.js
На http://www.klokantech.com/ мы подготовили ряд примеров для разработки с Plovr и Closure Library для новичков. Увидеть:
https://github.com/klokan/closure-library-plovr-hello-world-skeletons
Есть helloworld, базовое приложение с использованием Google Maps API V3, демонстрационная версия с шаблонами закрытия (соя), приложение OpenLayers и т. Д.
Я не уверен, что вам действительно нужно компилировать модули - особенно если вы новичок в Plovr и Closure. Идея Closure Tools заключается в том, что обычно весь код компилируется в один файл.js - так лучше всего работает минимизация Closure Compiler Advanced. Прочитайте мой пост в блоге:
http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
В любом случае, приведенный выше пример кода скелета также показывает, как работать с модулями в Пловре, например. динамически загружаемое расширение сложного кода JavaScript - представьте себе Gmail-подобное одностраничное приложение (SPA), в котором различные части интерфейса загружают дополнительные функции (такие как диалог настроек, функциональность Composer для редактора и т. д.). Это в коде, как под modules-api
а также modules
в https://github.com/klokan/closure-library-plovr-hello-world-skeletons.