Angular NX - импорт общих библиотек по версии - PullRequest
0 голосов
/ 26 марта 2020

Я относительно новый Angular разработчик, который собирается создать набор из Angular приложений, которые используют общую библиотеку компонентов (и, вероятно, некоторые другие утилиты / интерфейсы).

Nx by Nrwl выглядит как отличная система для организации этих частей, так что я думаю, что собираюсь строить, используя это.

У меня есть одна идеальная особенность c, однако, это выглядит из моих поисков как Nx, на самом деле не поддерживает: возможность создания версий библиотек, так что одно приложение может использовать версию 1.0, а другое - версию 2.0 той же библиотеки компонентов, например.

Таким образом, я мог бы изменить, скажем, компонент Dropdown для приложения 2, не затрагивая приложение 1 вообще, поскольку приложение 2 будет просто указывать на новую библиотеку, а приложение 1 на старую.

Кто-нибудь знает хороший способ сделать это в Nx (или хорошие ресурсы, чтобы это выяснить; или хорошие условия поиска, чтобы найти эти ресурсы)? Возникли проблемы с поиском руководства или выяснением, возможно ли это, как я об этом думал.

Очевидно, что есть несколько хакерских способов сделать это:

  • Дублировать " «версии» (Dropdown1, Dropdown2)
  • То же самое для библиотек компонентов (import @cl2/Dropdown)

Но эти решения не идеальны с разных точек зрения, включая необходимость разработчиков приложений, чтобы узнать, какая версия каждого компонента является самой последней, уродливые имена компонентов, раздутая кодовая база и т. д. c.

1 Ответ

1 голос
/ 26 марта 2020

Смысл NX и подхода monorepo заключается в том, что все должны работать под управлением «мастер-версии».

Имея тесты для всего и выполняя все из одного и того же репо, вы сохраняете всю свою кодовую базу чистый и актуальный.

Если вы не хотите делать это таким образом, вы можете просто создать библиотеку компонентов в качестве отдельного репозитория и опубликовать sh их на npm, а затем вытащить их в различные приложения, используя npm.

...