Я разрабатываю библиотеку Angular и использую типичную настройку, при которой у меня есть проект моей библиотеки, а затем другой проект, в котором я использую выходные данные встроенной библиотеки.
Я хочу иметь возможность отслеживать исходные файлы библиотеки и автоматически перестраивать свою библиотеку. Я также хочу, чтобы мое приложение-потребитель перестраивалось, когда оно обнаруживает, что моя библиотека была перестроена.
В случае, если мое приложение обнаруживает изменения библиотеки, я считаю, что это уже настроено, поскольку ng serve
автоматически отслеживает изменения файлов, а в tsconfig для моего приложения путь к моей библиотеке отображается в папку dist
, в которой создается вывод библиотеки . Если я вручную изменю один из этих файлов в папке dist, запускается перестройка моего потребляющего приложения, и эта часть работает нормально.
В случае отслеживания изменений библиотеки, я видел, что могу указать имя моей библиотеки и флаг наблюдения как часть команды сборки, поэтому:
ng build my-lib --watch
В моем package.json определены следующие сценарии:
"start": "npm run build && ng serve",
"build": "ng build && npm run bundle-styles",
"bundle-styles": "scss-bundle -c scss-bundle.config.json"
Я предполагаю, что мне понадобятся часы в моей библиотеке, созданные в отдельном процессе, поэтому мне может понадобиться дополнительный скрипт в моей задаче, предназначенный только для создания и просмотра моей библиотеки?
Затем в другом процессе запустите сценарий сборки, который будет обслуживать мое потребляющее приложение.
Я действительно пытался это сделать, но у меня возникла проблема с моей bundle-styles
задачей, которую мне нужно выполнить после того, как angular cli построит ее, но до того, как она начнет следить за изменениями. Я начинаю думать, что мне может потребоваться создать свою собственную задачу просмотра с чем-то вроде gulp
Какой здесь правильный подход при разработке изменений в библиотеке, чтобы увидеть, как они обнаруживаются и восстанавливаются в приложении-потребителе?
Спасибо