Запустите Grunt во многих подкаталогах

У меня есть каталог, содержащий разные проекты:

top-directory/
    project1/
    project2/
    project3/

В большинстве каталогов проектов есть файл Gruntfile. При работе над проектом я cd захожу в его каталог и запускаю grunt, чтобы следить за изменениями.

Когда мне нужно переключиться на другой проект (иногда просто для небольшого изменения), мне нужно остановить Grunt, cd в другой каталог и снова запустить grunt. Затем повторите, чтобы вернуться к исходному.

Можно ли запустить Grunt во всех каталогах проекта, содержащих файл Grunt? Или в указанном списке каталогов? Возможно, файл Grunt в верхнем каталоге?


person Hugo    schedule 18.12.2015    source источник


Ответы (2)


Это можно сделать с помощью Grunt Hub.

mkdir grunt-hub && cd grunt-hub
npm install grunt-hub
cp -R node_modules/grunt-hub/tasks/init/hub/* .

Затем отредактируйте grunt-hub/Gruntfile.js, указав интересующие каталоги, или оставьте значение по умолчанию '../*/Gruntfile.js'.

Вы также можете удалить jshint из списка задач и позволить другим файлам Grunt выполнять свои собственные проверки и не получать уведомления о предложениях подсказок JS для каждого отдельного файла, которых может быть большое количество.

person Hugo    schedule 18.12.2015

Я думаю, grunt-subgrunt может вам помочь: https://github.com/tusbar/grunt-subgrunt

С его помощью вы сможете запускать задачи в GruntFile, расположенный в подкаталоге

Итак, вы создали файл grunt в верхнем каталоге и настроили список задач для вызова в вашем подчиненном файле GruntFile.

EDIT: если вы хотите только наблюдать за изменениями файлов, вы также можете использовать grunt-watch в верхнем каталоге и следить за изменениями в ваших подкаталогах и запускать определенную задачу. с хрюканьем-подхрюканьем или без него.

person CyrilleGuimezanes    schedule 18.12.2015