Запускайте две задачи Angular CLI друг за другом, с помощью --watch - PullRequest
0 голосов
/ 26 октября 2018

У меня есть две задачи, которые нужно запускать друг за другом:

ng build <libary-name> && ng serve

Я хочу, чтобы отслеживание изменений файла происходило на <libary-name>, поэтому я добавляю следующее:

ng build <libary-name> --watch && ng serve

Это, очевидно, не работает, поскольку часы никогда не закончатся, поэтому подача ng никогда не будет вызвана.

ng build <libary-name> --watch & ng serve

это решение также не является хорошим, так как подача ng начинается до завершения сборки ng..

Есть ли способ получить сообщение Compilation complete из первой сборки ng, и затем запустить средство просмотра файлов?Можно ли просто запустить наблюдателя, например, так:

ng build <libary-name> && --watch-the-libary-please & ng serve

?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Вы можете использовать пакет npm concurrently, который позволяет выполнять несколько команд параллельно.

0 голосов
/ 28 октября 2018

Хорошо, я мог бы найти решение для вас.Я написал простой скрипт на Python, который будет проверять, был ли изменен каталог (в данном случае ваша библиотека), вычисляя его sha1sum.Если это на самом деле изменилось, он будет запускать ваши команды для ng build и ng serve

import time
import os
from checksumdir import dirhash

directory = '/YOUR/PATH/TO/LIBRARY'
initial_sha1 = dirhash(directory, 'sha1')

modified = False

while modified is False:
    current_sha1 = dirhash(directory, 'sha1')
    if initial_sha1 != current_sha1:
        print("Files has been hanged")
        os.system('ng build <libary-name>')
        os.system('ng serve')
        modified = True
    else:
        time.sleep(10)

Если вы хотите запускать это бесконечно вместо изменения флага *От 1008 * до True измените значение инициалов sha на текущую initial_sha1 = current_sha1 и закройте программу, когда захотите.

Вам может потребоваться установить этот пакет:

pip install checksumdir

Это работает в Python 2.7 и3.X (для этого может потребоваться установить контрольную сумму с pip3)

Редактировать

Вам может потребоваться выполнить этот скрипт в каталоге, в котором вы создаете свое приложение, или добавить до нг буль

os.system('cd /PATH/WHERE/YOU/BUILD')
...