Протестируйте угловую библиотеку из основного приложения, не нарушая время сборки

#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 в аналогичной ситуации-библиотека и основной проект являются отдельными приложениями-и мы можем перестроить библиотеку, которая автоматически перестроит основной проект без сбоев.