Установка Angular-библиотек через ng add | ng-hub-ui
Установщик семейства ng-hub-ui: одна команда ng add спрашивает, какие библиотеки вам нужны, разрешает пакеты для каждой из них и записывает их в ваш манифест.
Интерактивные примеры
Изучите живые примеры, показывающие, как библиотека ведёт себя в типичных сценариях использования Angular.
Одна команда
`ng add ng-hub-ui` — это вся установка. Angular CLI загружает пакет, запускает его схематик `ng-add`, и тот спрашивает, какие из 25 библиотек каталога вам нужны. Пробел выбирает, `a` отмечает всё, `i` инвертирует выбор; после подтверждения выбор превращается в пакеты npm, они записываются в `dependencies`, а установка передаётся тому менеджеру пакетов, который обнаружил CLI.
Интерактивная установка
Space selects, a toggles everything and i inverts the selection. The schematic writes the chosen packages into dependencies and then lets the package manager install them.
Флаги и скрипты
Диалог можно пропустить, и именно это делает установщик пригодным для CI и для собственного скрипта настройки проекта. `--libraries` принимает список через запятую или тот же флаг несколько раз; обе формы нормализуются одинаково: без пробелов, без дублей, в заданном порядке. `--skip-install` записывает манифест и на этом останавливается. Передавайте идентификаторы из каталога, а не подписи из диалога — это разные строки, и неизвестный идентификатор останавливает схематик до того, как `package.json` будет затронут.
Флаги вместо диалога
Comma-separated
Repeated flag — the same selection, normalized the same way
Manifest only, install left to you
An empty selection fails with Select at least one ng-hub-ui library to install. and an unknown identifier with Unknown ng-hub-ui library: <id>. — in both cases before package.json is touched.
Разрешённые зависимости
Выбранное — не то же самое, что записанное. Каждая библиотека каталога объявляет нужные ей пиры: `ng-hub-ui-utils` — почти для всего семейства, `ng-hub-ui-ds` — для panels, `ng-hub-ui-forms` — для signature и `sortablejs`, который вообще не наш. Разрешение транзитивно, поэтому подтянутая библиотека приносит собственные пиры. Нижняя граница каждого диапазона не ниже самого высокого пира, который семейство от него требует, — это и не даёт записать пару, которую npm не сможет разрешить. Уже существующий ключ никогда не переписывается, так что зафиксированная версия сохраняется. Схематик заканчивается на связывании зависимостей: ни `angular.json`, ни провайдеров, ни регистрации компонентов, ни записей в таблицах стилей.
Что записывает выбор
Two libraries asked for…
…five packages written into package.json
The schematic adds a dependency only when the key is absent, so a version already pinned in your manifest survives the install untouched.