Я недавно работал над сервером сборки по требованию. Сервер сборки представляет собой API-интерфейс NodeJS / Express REST, который, по сути, оборачивает Angular CLI и соответствующие инструменты сборки для завершения пользовательского приложения Angular по требованию.
Все работает, как и ожидалось, от начала до конца, но я бы хотел быть более детальным с отчетами о состоянии, так как сборки Angular могут занимать довольно много времени при учете 2 очень больших частей процесса
Две самые продолжительные части процесса:
-
npm install
(обычно автоматически запускается с помощью схемы ng-new из коллекции @ angular / schematics по умолчанию)
- фактическая
ng build
команда.
2 легко решить, так как я порождаю этот процесс (ng build --prod
) через child_process.spawn()
напрямую.
1 оказался немного сложнее, так как длительный процесс npm install
фактически запускается внутренне для стандартной схемы / команды Angular ng-new. Итак, если мое мышление верное, это, по сути, явно порожденный дочерний процесс (мой порожденный ng new
), который порождает внутренне npm install
.
Одна из работ, которую я придумала, - это передать --skip-install
arg в ng new
, что предотвратит запуск процесса npm install
из-за схемы. После этого я могу вручную запустить npm install
через child_process.spawn()
и непосредственно наблюдать потоки stdout и stderr.
Мне любопытно, если кто-нибудь знает способ шпионить за потоками stderr и stdout из 'установки npm', которая запускается внутри моей явно порожденной ng new
команды?
Спасибо!