Grunt: как установить переменные env в родительском процессе Grunt, чтобы дочерние процессы, порожденные grunt-concurrent, могли получить к ним доступ

Я использую Grunt и, в частности, плагин grunt-concurrent, который принимает список задач для одновременного запуска и порождает параллельные дочерние процессы для каждой из этих задач. (Примечание: для этого проекта я должен использовать grunt-concurrent и порождать эти дочерние процессы).

В родительском процессе (первоначальный запуск Grunt, который пользователь запустил в командной строке), у меня есть доступ ко всей информации, отправляемой в командной строке (например, cmd args, какие задачи были запрошены и т. Д.). Однако, порожденные процессы Grunt не передают всю эту информацию. (В частности, у меня больше нет задач, которые были запрошены.)

Я решил, что можно сохранить этот контекст, установив переменные окружения в родительском процессе, с помощью process.env[MY_VAR] = value, Однако, хотя эти переменные регистрируются в родительском процессе, они больше не определяются в дочерних процессах, порожденных grunt-concurrent.

Каков наилучший способ задания переменных среды в родительском процессе Grunt, чтобы дочерние процессы Grunt имели к ним доступ? Или уже есть способ получить доступ ко ВСЕЙ информации, которую имел родительский процесс? (Имеется в виду даже список задач?), В дочерних процессах, порожденных grunt-concurrent? В качестве альтернативы - есть ли способ сохранить процесс родительского Grunt, пока все дети не закончили? (Я думаю, что причина, по которой я теряю настройки process.env, заключается в том, что grunt-concurrent порождает потомков, а затем этот родительский процесс завершается.)

0 ответов

Другие вопросы по тегам