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, чтобы обновить окно браузера.

Author: Daniel Ifrim, 2016-04-24

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
 7
Author: St3phan, 2016-06-13 20:05:35