Внести вклад
Инструменты разработчика
Библиотеки

Обзор библиотек Angular

Многим приложениям приходится решать одни и те же общие задачи, такие как представление единого пользовательского интерфейса, отображение данных и обеспечение ввода данных. Разработчики могут создавать общие решения для конкретных предметных областей, которые можно адаптировать для повторного использования в различных приложениях. Такие решения можно реализовать в виде библиотек Angular, а эти библи��теки можно публиковать и распространять как npm-пакеты.

Библиотека Angular — это проект Angular, который отличается от приложения тем, что не может запускаться самостоятельно. Библиотеку необходимо импортировать и использовать внутри приложения.

Библиотеки расширяют базовые возможности Angular. Например, чтобы добавить реактивные формы в приложение, добавьте пакет библиотеки с помощью команды ng add @angular/forms, а затем импортируйте ReactiveFormsModule из библиотеки @angular/forms в коде вашего приложения. Аналогично, добавление библиотеки service worker в приложение Angular является одним из шагов для превращения приложения в Progressive Web App (PWA). Angular Material — это пример большой библиотеки общего назначения, которая предоставляет продвинутые, повторно используемые и адаптируемые UI-компоненты.

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

ПОЛЕЗНО: Библиотеки предназначены для использования приложениями Angular. Чтобы добавить возможности Angular в веб-приложения, не использующие Angular, используйте пользовательские элементы Angular (Angular custom elements).

Создание библиотек

Если вы разработали функциональность, подходящую для повторного использования, вы можете создавать свои собственные библиотеки. Эти библиотеки можно использовать локально в вашем рабочем пространстве или публиковать как npm-пакеты, чтобы поделиться ими с другими проектами или другими разработчиками Angular. Эти пакеты можно публиковать в реестре npm, частном реестре npm Enterprise или в частной системе управления пакетами, поддерживающей пакеты npm. См. раздел Создание библиотек.

Решение упаковать функциональность в библиотеку — это архитектурное решение. Оно сравнимо с решением о том, является ли функциональность компонентом или сервисом, или с определением области видимости компонента.

Упаковка функциональности в библиотеку заставляет артефакты внутри библиотеки быть отделенными от бизнес-логики приложения. Это помогает избежать различных плохих практик или архитектурных ошибок, которые могут затруднить отделение и повторное использование кода в будущем.

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