Grunt (node) - Как показать доступные задачи?
В то время как использование Rakefile, Cakefile и Jakefile использовалось для использования, они все имели удобный способ перечисления доступных задач.
Как
jake -T
jake db:dump # Dump the database
jake db:load # Populate the database
.. и т.д.
или даже фильтрация
"jake -T dum", чтобы показать только "задачу jake db: dump".
Итак, есть ли способ сделать то же самое с помощью grunt?
Я думал о создании задачи по умолчанию, которая выполняет итерацию всего объекта конфигурации grunt и записывает его в stdout через console.log, но кто-то знает лучший способ?
Спасибо.
Ответы
Ответ 1
grunt --help перечисляет доступные задачи, как указано в answer.
Пример вывода
.....
Available tasks
clean Clean files and folders. *
jade Compile jade templates. *
web_server A Web Server similar to Python SimpleHTTPServer, with
Cross-Origin Resource Sharing and No-Cache options. *
Ответ 2
Насколько я знаю, единственный способ (очевидно, без хаков) показать доступные задачи - использовать параметр -h
или --help
.
Как вы можете видеть в источнике grunt-cli, они явно заботятся только о -h
(help), -V
(version), и -V
(verbose).
Итак, я думаю, что в настоящее время вам нужно создать свою собственную задачу для достижения своей цели.
Ответ 3
Есть лучший способ! В настоящее время я работаю над отдельным плагином grunt-available-tasks для достижения этой функциональности. Добавьте его в свой проект с помощью:
npm install grunt-available-tasks --save-dev
Затем запустите grunt availabletasks
, чтобы получить список ваших задач. Вы можете захотеть сделать это с помощью tasks
, чтобы сохранить некоторую типизацию:
grunt.registerTask('tasks', ['availabletasks']);
Затем, с некоторой конфигурацией, вы можете получить списки, подобные этой:
$ grunt tasks
Running "availabletasks" task
Deployment Tasks
doc => Build the documentation.
production => Build a complete distribution for production; stricter linting and a full browser test.
Development Tasks
default => Build a development distribution.
watch > Run predefined tasks whenever watched files change.
Done, without errors.
Вы можете фильтровать, группировать и сортировать задачи, используя объект конфигурации в вашем файле Grunt. В README доступен полный список опций.