При разработке двух локальных проектов в angularjs (где один импортирует другой) я просто запускал «npm link» в папке модуля B, а затем запускал «npm link module-B» в папке моего основного модуля и всякий раз, когда я менял файл в модуле BI увидит его прямо в моем модуле обслуживания браузера A.
Но с angular (4) все не так просто.
Я использую ng-packagr для создания папки dist.
Я запускаю ссылку npm внутри папки dist.
Я запускаю модуль ссылки npm-B в папке основного модуля.
Затем я запускаю ng serve --preserve -символы.
Пока все хорошо, он может понять компоненты модуля B. Но если я попытаюсь что-то изменить в модуле B, перезапущу ng-packagr, мой основной модуль «ng serve» не скомпилируется, мне придется остановить и запустить ng serve .
Я думаю, что ng-packagr сначала удаляет папку dist, и это вызывает перестройку в ng serve, которая терпит неудачу и не замечает вновь созданные файлы, которые появились после удаления папки dist.
Должны ли мы использовать ng-packagr или есть какой-то другой способ сделать многопроектную локальную разработку.
Обновление:
Если мы закомментируем этот раздел в ng-packagr.js, он не удалит папку, а браузер обновит каждый раз, когда файл изменяется и запускается ngpackagr:
return Promise.all([
/*rimraf_1.rimraf(p.dest),*/
rimraf_1.rimraf(p.workingDirectory)
]);
Но запуск ng-packagr занимает некоторое время в зависимости от размера библиотеки. Поскольку он создает все, а не только файлы, которые изменяются.