В чем разница между обновлением ng и обновлением npm?

Кто-нибудь, пожалуйста, объясните мне разницу между обновлением ng в Angular 6 и обновлением npm?

2 ответа

ng update: обновляет текущее приложение до последних версий.

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

Этот документ содержит информацию и ресурсы, которые помогут вам поддерживать актуальность ваших приложений и библиотек Angular.

npm update: эта команда обновит все перечисленные пакеты до последней версии (указанной в теге config), с учетом semver.

Также будут установлены недостающие пакеты. Как и во всех командах, которые устанавливают пакеты, флаг --dev также приведет к обработке devDependencies.

Если указан флаг -g, эта команда обновит глобально установленные пакеты.

Если имя пакета не указано, все пакеты в указанном месте (глобальном или локальном) будут обновлены.

Начиная с npm@2.6.1, обновление npm будет проверять только пакеты верхнего уровня. Предыдущие версии npm также рекурсивно проверяли все зависимости. Чтобы получить старое поведение, используйте npm --depth 9999 update.

Начиная с npm@5.0.0, обновление npm изменит файл package.json, чтобы сохранить новую версию в качестве минимально необходимой зависимости. Чтобы получить старое поведение, используйте npm update --no-save.

источники:
https://github.com/angular/angular-cli/wiki/update
https://docs.npmjs.com/cli/update

делает больше, чем

ng updateобновит ваши зависимости (так же, как npm update), но в дополнение к этому он также может запускать схемы обновления: авторы библиотек могут включать такие схемы для автоматического обновления файлов вашего кода (т. е. вашего машинописного текста) в процессе обновления: т. е. они могут исправить критические изменения непосредственно в вашем коде.

Из ng-update: Разработчики библиотек :

Библиотеки несут ответственность за определение своих собственных схем обновлений. Инструмент обновления ng обновит package.json, и если он обнаружит ключ «ng-update» в package.json библиотеки, запустит на нем схему обновления (с метаданными информации о версии).

Если библиотека не определяет ключ «ng-update» в своем package.json, считается, что она не поддерживает рабочий процесс обновления, и обновление ng в основном эквивалентно установке npm.

Когда обновление будет завершено, вы package.jsonфайл будет включать обновленную версию, пакеты будут установлены в node_modulesпапку, и ваш исходный код мог быть изменен файлом update-schematics. Так что сейчас самое время использовать вашу систему контроля версий, чтобы проверить изменения и протестировать ваше приложение.

Другие вопросы по тегам