#javascript #angular #typescript #tsconfig
Вопрос:
В настоящее время я запускаю проект Angular 8 вместе с его библиотекой в той же версии. Эта библиотека живет в другом совершенно другом проекте, поэтому нам потребовалось создать npm link
внутреннюю библиотеку npm link my-libray
внутри my-app
, а затем запустить ng build my-libray --watch
внутренний my-library
проект и ng serve
войти my-app
.
Проблемы с этим подходом состоит в том, когда я вношу изменения в библиотеку, процесс восстановления выполняется в моем приложении, и никогда не ждет, пока полностью завершить процесс восстановления в библиотеке, поскольку dist
папка удаляется в результате webpack сбой и да, я могу остановить процесс и заново запустить ng serve
снова, но если массив уже много времени, я предпочитаю не упоминать, сколько времени требуется, чтобы подают в приложение снова.
Как я мог подойти к этому не так болезненно? В идеале я хотел бы знать, могу ли я в среде разработки играть только с необработанным кодом, а не указывать на версию сборки dist. Я думаю, что этого можно достичь, просто изменив paths
атрибуты внутри tsconfig.json
, чтобы ваша библиотека указывала на другую папку, что-то вроде этого:
"paths" {
"my-library": ["libs/my-library/src/*"]
}
Но это работает только в том случае, если вы работаете в одном рабочем пространстве, и, как я только что сказал, библиотека и приложение находятся в разных репозиториях.
Комментарии:
1. FWIW: Мы используем
npm link
в аналогичной ситуации-библиотека и основной проект являются отдельными приложениями-и мы можем перестроить библиотеку, которая автоматически перестроит основной проект без сбоев.