angular cli: как команда ng serve может обнаружить изменения файла в этом случае? - PullRequest
0 голосов
/ 22 мая 2019

В моем последнем посте stackoverflow я подробно описал цель и структуру моего углового проекта. Вы можете обратиться к нему по этой ссылке: angular: почему команда импорта может искать зависимости из папки build 'dist'

Проще говоря, разрабатываемый мной угловой проект - это угловая библиотека (совместно используемые компоненты пользовательского интерфейса) и пример демонстрационного сайта (который демонстрирует совместно используемые компоненты пользовательского интерфейса). И пример демо-сайта - это угловое приложение.
Файловая структура этого проекта следующая:

src // the demo site is under this src folder
projects 
  shared-components // the shared UI component lib is under this folder
package.json
angular.json
tsconfig.json

Итак, файл конфигурации angular.json выглядит примерно так:

"projects": {
    "demo-site": {
    },
    "shared-components": {
    }
}

И еще одна вещь, которую нужно упомянуть, это то, что demo-site импортирует библиотеку shared-components сборки. Это выглядит так:

Сначала установите dest вывода сборки shared-components равным dist/shared-components.
А затем в сегменте tsconfig.json config paths установить путь shared-components равным dist/shared-components.

Таким образом, demo-site может найти зависимость shared-components. Это работает хорошо.

И на этапе разработки я запускаю две команды angular-cli отдельно в двух терминалах для автоматизации процесса сборки:

1. ng build shared-components --watch
2. ng serve 

первой командой создайте shared-components с --watch, чтобы перестроить библиотеку при изменении исходного файла компонентов.

вторая команда обслуживает demo-site.

Текущее поведение: когда я сохраняю модификацию в shared-components, shared-components обнаруживает изменение и запускает восстановление; в результате в папке dist произошли некоторые изменения, затем demo-site также будет перестроен. Процесс автоматический и работает хорошо

Мой вопрос: sourceRoot из demo-site - это папка src. Насколько я понимаю, он будет обнаруживать файлы в src, но в приведенном выше случае изменения кода внутри src не происходит. Изменение происходит в папке dist. Почему это может вызвать восстановление?

Спасибо

...