Поскольку Angular 6 здесь, я хочу обновить или переместить мое клиентское приложение angular 5 на angular 6, но я не получаю никакого руководства или чего-либо, что могло бы помочь мне.
По моему мнению, мне просто нужно запустить новый Angular CLI, а затем переместить мой старый исходный код в новый проект. Я читал, что Angular 6 использует новый рендерер под названием Ivy. Придется ли мне менять свой проект согласно Айви?
angular
migration
upgrade
angular-ivy
Абхишек Чокра
источник
источник
Ответы:
Обновление с Angular v6 до Angular v7
Вышла седьмая версия Angular. Официальная ссылка на блог Angular . Посетите официальное руководство по обновлению angular https://update.angular.io для получения подробной информации. Эти шаги будут работать для базовых приложений angular 6, использующих Angular Material.
Обновление с Angular v5 до Angular v6
Вышла шестая версия Angular. Официальная ссылка на блог Angular . Я упомянул общие шаги обновления ниже, но до и после обновления вам необходимо внести изменения в свой код, чтобы он работал в версии 6, для получения подробной информации посетите официальный сайт https://update.angular.io .
Шаги по обновлению (в основном взяты из официального руководства по обновлению Angular для базового приложения Angular, использующего Angular Material):
Убедитесь, что версия NodeJS 8.9+, если не обновите ее.
Обновите Angular cli глобально и локально, а также перенесите старую конфигурацию .angular-cli.json в новый формат angular.json , выполнив следующее:
Обновите все пакеты Angular framework до v6 и правильную версию RxJS и TypeScript, выполнив следующее:
Обновите Angular Material до последней версии, выполнив следующее:
RxJS v6 имеет серьезные изменения по сравнению с v5, v6 содержит пакет обратной совместимости rxjs-compat, который будет поддерживать работу ваших приложений, но вам следует реорганизовать код TypeScript, чтобы он не зависел от rxjs-compat. Для рефакторинга кода TypeScript выполните следующее:
Примечание. После обновления всех ваших зависимостей до RxJS 6 удалите rxjs-compat, поскольку он увеличивает размер пакета. пожалуйста, см. это Руководство по обновлению RxJS для получения дополнительной информации.
Готово пробежать
ng serve
проверять.Если вы получаете ошибки в сборке, обратитесь к https://update.angular.io для получения подробной информации.
Обновление с Angular v5 до Angular 6.0.0-rc.5
Обновите rxjs до 6.0.0-beta.0, для получения дополнительной информации см. Это Руководство по обновлению RxJS . RxJS v6 имеет критические изменения, поэтому сначала сделайте ваш код совместимым с последней версией RxJS.
Обновите версию NodeJS до 8.9+ (этого требует версия angular cli 6)
Обновите глобальный пакет Angular cli до следующей версии.
если версия npm <5, используйте
npm cache clean
Измените версии пакетов angular в файле package.json на
^6.0.0-rc.5
Затем обновите локальный пакет Angular cli до следующей версии и установите вышеупомянутые пакеты.
Формат конфигурации Angular CLI был изменен по сравнению с версией angular cli 6.0.0-rc.2, и ваша существующая конфигурация может быть обновлена автоматически, выполнив следующую команду. Он удалит старый файл конфигурации .angular-cli.json и запишет новый файл angular.json .
ng update @angular/cli --migrate-only --from=1.7.4
Примечание: - Если вы получаете следующую ошибку: «Для компилятора Angular требуется TypeScript> = 2.7.2 и <2.8.0, но вместо этого был найден 2.8.3». выполните следующую команду:
источник
bash: rxjs-5-to-6-migrate: command not found
. Есть предположения?ng update @angular/core
свою папку проекта ionic, я получаю сообщение об ошибкеInvalid range: "*"
"@angular-devkit/build-angular"
из ... Так что это исправленоnpm install @angular-devkit/build-angular --save-dev
. Кроме того , я должен был обновить библиотеки, которые использовали предыдущую rxjs-Compat, какng update @ngx-translate/core
,ng update @ng-bootstrap/ng-bootstrap
, потому что некоторые из них не был должным образом обновлен.Angular 6 только что был выпущен.
https://blog.angular.io/version-6-of-angular-now-available-cc56b0efa7a4
Вот что сработало в одном из моих небольших проектов
Возможно, вам потребуется обновить сценарии запуска в package.json. Например. если вы используете такие флаги, как «приложение» и «среда». Они были обновлены на «проект» и «конфигурация» соответственно.
Обратитесь к https://update.angular.io/ для получения более подробного руководства.
источник
Просто используйте официальное руководство по обновлению, которое расскажет вам, что вам нужно сделать для ваших конкретных нужд:
https://update.angular.io/
источник
Ознакомьтесь с пошаговыми инструкциями по обновлению с Angular 5 до Angular 6. Они содержат подробную информацию о проблемах, с которыми вы сталкиваетесь во время обновления, и о том, как их решить.
Изменение имени оператора:
Все операторы перенесены в rxjs / operator
Наблюдаемые методы создания перенесены в rxjs
У вас все настроено. Добро пожаловать в Angular 6 :) Проверьте мой блог здесь о том, как обновить
источник
Мне пришлось повторно запустить ng update @ angular / cli, чтобы angular-cli.json был изменен на angular.json
источник
Пожалуйста, запустите приведенные ниже комментарии, чтобы обновить Angular 6 до Angular 5.
источник
Полное руководство
----------------- С angular-cli --------------------------
1. Обновите интерфейс командной строки глобально и локально.
Использование NPM (убедитесь, что у вас есть версия узла 8+)
npm uninstall -g @angular/cli npm cache clean npm install -g @angular/cli@latest npm i @angular/cli --save
Использование пряжи
yarn remove @angular/cli yarn global add @angular/cli yarn add @angular/cli
2. обновить зависимости
Angular 6 теперь зависит от TypeScript 2.7 и RxJS 6
Обычно это означало бы, что вам нужно обновлять свой код везде, где используется импорт и операторы RxJS, но, к счастью, есть пакет, который берет на себя большую часть тяжелой работы:
Затем вы можете запустить rxjs-5-to-6-migrate
наконец удалите rxjs-compat
Перейдите по этой ссылке https://alligator.io/angular/angular-6/
------------------- Без angular-cli -------------------------
Поэтому вам нужно вручную обновить
package.json
файл.Тогда беги
источник
bash: rxjs-5-to-6-migrate: command not found
при попытке запустить команду rxjs-5-to-6-migrate. Есть предположения?Как указал Виней Кумар, он не будет обновлять глобально установленный Angular CLI. Чтобы обновить его глобально, просто используйте следующие команды:
Обратите внимание: если вы хотите обновить существующий проект, вам необходимо изменить существующий проект, вы должны изменить package.json внутри своего проекта.
В самом Angular нет критических изменений, но они есть в RxJS, поэтому не забудьте использовать библиотеку rxjs-compat для работы с устаревшим кодом.
Я написал хорошую статью об установке / обновлении Angular CLI http://bmnteam.com/angular-cli-installation/
источник
просто выполните следующую команду:
ng update
примечание: это не будет обновляться глобально.
источник
Вот как я заставляю это работать.
Моя среда:
Angular CLI Global: 6.0.0, Local: 1.7.4, Angular: 5.2, Typescript 2.5.3
ng update //update Angular Package core/common/complier... to 6.0.0
ng update @angular/cli //change angular-cli.json to angular.json
необязательно, если у вас есть angular-material 5.4.2, ngx-translate 9.1.1, ng-bootstrap / ng-bootstrap 1.1.1:
ng update @angular/material //upgrade to 6.0.1
npm install @ngx-translate/core@10.0.1 --save //upgrade ngX translate to 10.0.1 for Angular 6
5
npm install --save @ng-bootstrap/ng-bootstrap@2.0.0 //for ng-bootstrap
Если вы используете Observable и получаете сообщение об ошибке:
ERROR in node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'. node_modules/rxjs/observable/of.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/observable/of'.
Изменить:
import { Observable } from "rxjs/Observable"; import { of } from 'rxjs/observable/of';
к
import { Observable, of } from "rxjs";
Проблема с угловым интерфейсом командной строки: https://github.com/angular/angular-cli/issues/10621
источник
Есть несколько шагов для обновления 2/4/5 до Angular 6.
Чтобы исправить проблему, связанную с angular.json: -
МИГРАЦИЯ магазина
https://github.com/ngrx/platform/blob/master/MIGRATION.md#ngrxstore
ПЕРЕМЕЩЕНИЕ RXJS
https://www.academind.com/learn/javascript/rxjs-6-what-changed/
Надеюсь, это вам поможет :)
источник