Magento 2 - Как настроить Grunt в PhpStorm
Я пытаюсь настроить Grunt в PhpStorm.
Я настроился на ворчание: Интерпретатор узлов: /usr/bin/узел (существует) Пакет grunt-cli: [путь к каталогу Magento 2]
Я получаю сообщение об ошибке ниже, когда я "Перезагружаю задачи" в PhpStorm.
В проекте установлен интерфейс командной строки Grunt-cli. У меня есть [путь к Magento 2]/node_modules/реж. И ворчите чисто: [моя тема], исполняйте и наблюдайте за работой в консоли.
Я собираюсь запустить PhpStorm, чтобы посмотреть и обновить страница в браузере.
Failed to list grunt tasks in [magento2 dir]/Gruntfile.js: process finished with exit code 8 (a non-zero exit code means an error)
* Edit settings
$ /usr/bin/node /[magento2 dir]/dev/tools/grunt/tasks/bin/grunt --no-color --verbose --gruntfile /[magento2 dir]/Gruntfile.js --tasks /home/[user]/[some-dir]/PhpStorm/plugins/JavaScriptLanguage/grunt_js/tasks _intellij_grunt_tasks_fetcher
module.js:340
throw err;
^
Error: Cannot find module '/[magento2 dir]/dev/tools/grunt/tasks/bin/grunt'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
Process finished with exit code 8
РЕДАКТИРОВАТЬ Настройки, которые работали с Grunt, следующие:
- Интерпретатор узлов:
/usr/bin/node (exists)
- Пакет grunt-cli:
/usr/local/lib/node_modules/grunt-cli
И нажал значок "Перезагрузить задачи"
РЕДАКТИРОВАТЬ 2
Предполагая, что один настроил проект как в:
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/css-topics/css_debug.html#grunt_prereq
и настроил также их хранение в [magento2 dir]\dev\tools\grunt\configs\themes.js
Добавьте наблюдатель за файлами в Настройки > Инструменты > Наблюдатели за файлами, как описано здесь: http://www.kevinfodness.com/automating-grunt-builds-in-phpstorm с некоторыми отличиями:
- 'Тип файла': Меньше
- В "Области видимости" должен быть каталог вашей темы от поставщиков/[мое пространство имен]/[мой каталог темы], потому что мы предполагаем изменить файлы здесь. Я добавил еще несколько каталогов от поставщиков/[мое пространство имен]/[мои модули, у которых меньше]
- В "Области видимости" вам не нужно исключать css-файлы, потому что они находятся в пабе/статическом, а не в каталоге поставщиков/my_namespace/my_theme.
- 'Программа': ворчание (моя машина разработчика видит эту команду глобально)
- "Аргументы":
less:my_theme
- Вместо этого я мог бы указать в "Аргументах" следующее:
clean:my_theme exec:my_theme less:my_theme
, но не уверен, хочу ли я этого.less:my_theme
для запуска требуется уже 5 секунд. Вы можете запустить clean и exec в консоли, если вам это нужно. - "Путь вывода для обновления": Я его очистил. Здесь ничего нет вместо значения поля по умолчанию.
Я настроил наблюдатель, и это работает. Но теперь я думаю, почему бы просто не использовать grunt watch
в консоли.
Следующий шаг - выяснить, как PhpStorm может обновить окно браузера после выполнения задачи наблюдателя. Вот почему я хочу, чтобы в PhpStorm был Grunt. Я не хочу нажимать alt+tab в консоли, чтобы узнать, выполнила ли grunt watch
задачу, а затем alt+tab, чтобы обновить окно браузера.
1 answers
Документация по ворчанию Magento2
Установите NodeJS на свой компьютер
Использовать командную строку:
- Установите инструмент командной строки Grunt по всему миру
npm install -g grunt-cli
* Установите node.js зависимость от проекта
npm install
* Удалить кэш Magento
php bin/magento cache:clean
* Очистите скомпилированные файлы командой
grunt clean
* Запустите командную строку CMD с администратором привилегия.
grunt exec:yourthemename grunt less:yourthemename grunt watch
https://drive.google.com/a/green-art.ro/file/d/0B_3mauXj4AQINXVoTXlBT2JSUjA/view?usp=sharing
Если это не сработает, выполните наблюдение во время разработки или запустите программное обеспечение из Php Storm, откатите следующие команды:
* Удалить кэш Magento
php bin/magento cache:clean
* Очистите скомпилированные файлы командой
grunt clean
* Запустите командную строку CMD с правами администратора.
grunt exec:yourthemename grunt less:yourthemename grunt watch