Я относительно новый разработчик Angular, который хочет создать набор приложений Angular, которые совместно используют библиотеку пользовательских компонентов (и, вероятно, некоторые другие утилиты/интерфейсы).
Nx от Nrwl выглядит как отличная система для организации этих частей, поэтому я думаю, что буду использовать ее.
Однако у меня есть одна идеальная спецификация, которую, судя по моим поискам, Nx на самом деле не поддерживает: возможность версионировать библиотеки так, чтобы одно приложение могло использовать версию 1.0, а другое — версию 2.0 того же компонента. библиотека, например.
Таким образом, я мог бы изменить, скажем, компонент Dropdown для приложения 2, не затрагивая приложение 1 вообще, потому что приложение 2 просто указывало бы на новую библиотеку, а приложение 1 — на старую.
Кто-нибудь знает хороший способ сделать это в Nx (или хорошие ресурсы, чтобы понять это, или хорошие условия поиска, чтобы найти эти ресурсы)? Возникли проблемы с поиском руководства здесь или выяснением того, возможно ли это вообще, как я думал об этом.
Очевидно, есть несколько более хакерских способов сделать это:
- Имеют дублирующиеся "версионные" компоненты (Dropdown1, Dropdown2).
- Сделайте то же самое для библиотек компонентов (
import @cl2/Dropdown
)
Но эти решения неидеальны с разных точек зрения, включая потребность разработчиков приложений знать, какая версия каждого компонента является самой последней, уродливые имена компонентов, раздутую кодовую базу и т. д.