Как использовать средство наблюдения за файлами компилятора закрытия в PHP Storm

Я пытаюсь заставить компилятор закрытия Google работать с PHP Storm для минимизации файлов javascript.

Я не совсем уверен, что я делаю неправильно, пытаясь заставить это работать, и я не могу найти никаких руководств/учебников в Интернете нигде, кроме собственных документов PHP Storm, которые недостаточно конкретны.

Я установил компилятор закрытия, используя npm install -g closurecompiler

Он разместил его здесь: /usr/local/bin/ccjs (псевдоним /usr/local/lib/node_modules/closurecompiler/bin/ccjs)

Затем я создал свой файловый наблюдатель в php storm следующим образом:

введите здесь описание изображения

Ссылка на изображение

Теперь, когда я сохраняю файл JS, я получаю следующую ошибку:

/usr/local/bin/ccjs --compilation_level ПРОСТЫЕ_ОПТИМИЗАЦИИ --js common.js

Недопустимый исходный файл после параметров: SIMPLE_OPTIMIZATIONS

Процесс завершен с кодом выхода 3

С опцией SIMPLE_OPTIMIZATIONS или без нее выдается ошибка.

Предположительно, он просто не может найти файл, с которым я работаю, возможно, из-за пути, по которому он работает. Но тогда мой вопрос очень и очень прост, как мне указать правильный путь?

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

-compilation_level SIMPLE_OPTIMIZATIONS --js $ProjectFileDir$/public/themes/v2/js/$FileName$

Для сравнения, это без проблем работает с моим меньшим файловым наблюдателем, поэтому я подумал, что $FileName$ будет работать без проблем.

--no-color --clean-css $FileName$


person John Mellor    schedule 22.04.2015    source источник


Ответы (1)


Правильный модуль NPM: https://www.npmjs.com/package/google-closure-compiler (npm i google-closure-compiler -g).

Но вы можете просто запустить файлcompile.jar, установленный вместе с closurecompiler, напрямую (обычно node_modules/closurecompiler/compiler/compiler.jar), указав полный путь к jar как к программе.

Program: path/to/jar/compiler.jar
Arguments: --compilation_level SIMPLE_OPTIMIZATIONS --js $FileName$
person lena    schedule 22.04.2015
comment
Приветствует путь node_moduels к компилятору.jar, но получает ошибку Exception in thread main java.lang.UnsupportedClassVersionError: com/google/javascript/jscomp/CommandLineRunner : Unsupported major.minor версии 51.0. Я попробую еще раз, используя модуль NPM, на который вы ссылаетесь. - person John Mellor; 22.04.2015
comment
В ответ на мой собственный комментарий кажется, что это проблема с версией Java на моем Mac, связанная с этим вопросом/ответом. Я обновлю, как только найду другое решение: superuser.com/questions/740064/ - person John Mellor; 22.04.2015
comment
да, это проблема версии Java - кажется, чтоcompile.jar был скомпилирован для Java 1.7, и вы используете более раннюю версию Java (1.6?) - person lena; 22.04.2015