Angular Framework, Angular CLI и компоненты, используемые приложениями Angular, упакованы как пакеты npm и распространяются через реестр npm.
Вы можете загрузить и установить эти пакеты npm с помощью Клиент командной строки npm, который устанавливается и запускается как приложение Node.js®. По умолчанию Angular CLI использует клиент npm.
В качестве альтернативы вы можете использовать клиент yarn для загрузки и установки пакетов npm.
пакет .json
И npm, и yarn устанавливают пакеты, указанные в файле package.json.
Команда интерфейса командной строки ng new создает пакет. json при создании новой рабочей области. Этот package.json используется всеми проектами в рабочей области, включая исходный проект приложения, который создается CLI при создании рабочей области.
Первоначально этот package.json включает в себя стартовый набор пакеты, некоторые из которых требуются Angular, а другие поддерживают общие сценарии приложений. Вы добавляете пакеты в package.json по мере развития вашего приложения. Вы даже можете удалить некоторые из них.
package.json разделен на две группы пакетов:
- Зависимости необходимы для запуска приложений.
- DevDependencies необходимы только для разработки приложений.
Зависимости
Перечисленные пакеты в разделе зависимостей package.json необходимы для запуска приложений.
Раздел зависимостей package.json содержит
- Пакеты Angular: ядро Angular и дополнительные модули; их имена пакетов начинаются с @ angular/.
- Пакеты поддержки: сторонние библиотеки, которые должны присутствовать для запуска приложений Angular.
- Пакеты Polyfill: Polyfills заполняют пробелы в реализация JavaScript в браузере.
Чтобы добавить новую зависимость, используйте команду ng add.
Пакеты Angular
Следующие пакеты Angular включены в качестве зависимостей в файл package.json по умолчанию для новой рабочей области Angular. Полный список пакетов Angular можно увидеть в справочнике по Angular API.
НАЗВАНИЕ ПАКЕТА | ОПИСАНИЕ |
---|---|
@ angular/animations | Библиотека анимации Angular позволяет легко определять и применять эффекты анимации, такие как переходы между страницами и списками . |
@ angular/common | Часто необходимые службы, каналы и директивы, предоставляемые командой Angular. HttpClientModule также находится здесь, в подпапке @ angular/common/http. |
@ angular/compiler | Компилятор шаблонов Angular . Он понимает шаблоны и может преобразовывать их в код, который заставляет приложение работать и обрабатывать. Обычно вы не взаимодействуете с компилятором напрямую; скорее, вы используете его косвенно через платформу-браузер-динамику при JIT-компиляции в браузере. |
@ angular/core | Критические части среды выполнения фреймворка, которые необходимы каждому приложению. Включает все декораторы метаданных, компонент, директиву, внедрение зависимостей и хуки жизненного цикла компонента. |
@ angular/forms | Поддержка как для шаблонных, так и для реактивных форм. |
@ angular/http | Устаревший HTTP-клиент Angular, который устарел в версии 5.0 в пользу @ angular/common/ http. |
@ angular/platform browser | Все, что связано с DOM и браузером, особенно части, которые помогают отображать в DOM. Этот пакет также включает метод bootstrapModuleFactory () для начальной загрузки приложений для производственных сборок, которые предварительно компилируются с помощью AOT. |
@ angular/platform browser dynamic | Включает поставщиков и методы для компиляции и запуска приложения на клиенте с помощью JIT-компилятора. |
@ angular/router | Модуль маршрутизатора перемещается между страницами вашего приложения при изменении URL-адреса браузера. |
Пакеты поддержки
Следующие пакеты поддержки включены в качестве зависимостей в файл package.json по умолчанию для новой рабочей области Angular.
НАЗВАНИЕ ПАКЕТА | ОПИСАНИЕ |
---|---|
rxjs | Многие API-интерфейсы Angular возвращают наблюдаемые. RxJS — это реализация предложенной спецификации Observables, которая в настоящее время рассматривается комитетом TC39, который определяет стандарты для языка JavaScript. |
zone.js | Angular использует zone.js для запуска процессов обнаружения изменений Angular, когда собственные операции JavaScript вызывают события. Zone.js — это реализация спецификации, находящейся в настоящее время перед комитетом TC39, которая определяет стандарты для языка JavaScript. |
Пакеты Polyfill
Во многих браузерах отсутствует встроенная поддержка некоторых функций в последних стандартах HTML, функций, которые требуются Angular. Полифиллы могут имитировать недостающие функции. В руководстве по поддержке браузеров объясняется, каким браузерам нужны полифилы и как их можно добавить.
Пакет package.json для новой рабочей области Angular устанавливает пакет core-js, который заполняет недостающие функции для нескольких популярных браузеров.
Пакеты, перечисленные в разделе devDependencies файла package.json, помогут вам разработать приложение на вашем локальном компьютере. Вы не развертываете их с производственным приложением.
Чтобы добавить новую devDependency, используйте одну из следующих команд:
npm install --dev yarn add --dev
Следующие devDependencies предоставляются в файле package.json по умолчанию для новой рабочей области Angular.
НАЗВАНИЕ ПАКЕТА | ОПИСАНИЕ |
---|---|
@angular devkit/build angular | Инструменты сборки Angular. |
@ angular/cli | Инструменты Angular CLI. |
@ angular/compiler cli | Компилятор Angular, который вызывается командами Angular CLI ng build и ng serve. |
@ angular/language service | Языковая служба Angular анализирует шаблоны компонентов и предоставляет информацию о типах и ошибках, которую редакторы, поддерживающие TypeScript можно использовать для улучшения опыта разработчика. |
@types/… | Файлы определения TypeScript для сторонних библиотек, таких как Jasmine и Node.js. |
codelyzer | Линтер для приложений Angular, правила которых соответствуют руководству по стилю Angular. |
jasmine/… | Пакеты для поддержки тестовой библиотеки Jasmine. |
karma/… | Пакеты для поддержки средства запуска теста кармы. |
protractor | Сквозной фреймворк (e2e) для приложений Angular. Создан на основе WebDriverJS. |
ts-node | Среда выполнения TypeScript и REPL для Node.js. |
tslint | Инструмент статического анализа, который проверяет код TypeScript на читабельность, ремонтопригодность и ошибки функциональности. |
typescript | Сервер языка TypeScript, включая компилятор TypeScript tsc. |