Обновить угловой 1 до 2

У меня есть угловое приложение с версией 1, поэтому я могу обновить его до угловой версии 2

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

Angular 2.0 появился в бета-режиме, и кажется, что все должно измениться, $scope отсутствует, директивы отсутствуют, и концепция DI собирается измениться.

  1. Есть ли миграционный путь / стратегия, которая будет рассмотрена в ближайшие несколько месяцев?
  2. Если мы создали проект с использованием 1.x, какие действия нам необходимо предпринять во время разработки, чтобы обеспечить чистую миграцию? Разве эти 2 версии можно рассматривать как 2 разных фреймворка?

Пожалуйста, помогите мне разобраться.

3 ответа

Я думаю, что переход с Angular 1 на 2 не так плох, как думает большинство людей.

По сути, вам нужно разбить его и перенести концепции в первую очередь...

  • Бутстрапирование
  • Контроллеры
  • Директивы
  • Компоненты
  • Модули
  • маршрутизация
  • Сервисы
  • формы
  • фильтры

Почти все из них могут быть сопоставлены с концепциями 1.x - даже если нет отношения 1:1. Как только вы поймете, как выполняется каждая из этих вещей, гораздо проще решить, как медленно переносить существующий код в новые концепции.

Трудно охватить все эти вопросы одним ответом SO, так что, возможно, загляните на http://ngmigrate.telerik.com/, который более детально описан.

Включение смешивания Angular 1 и Angular 2 в одном приложении. Вы можете смешивать компоненты Angular 1 и Angular 2 в одном представлении. Angular 1 и Angular 2 могут внедрять сервисы через фреймворки. Привязка данных работает через рамки.

Процесс обновления приложения:

  1. Включите библиотеки Angular 2 и ng-upgrade с вашим существующим приложением
  2. Выберите компонент, который вы хотите перенести
    • Отредактируйте шаблон директивы Angular 1, чтобы он соответствовал синтаксису Angular 2
    • Преобразуйте контроллер / связующую функцию директивы в синтаксис / семантику Angular 2
  3. Используйте ng-upgrade, чтобы экспортировать директиву (теперь компонент) в качестве компонента Angular 1 (это необходимо, если вы хотите вызвать новый компонент Angular 2 из шаблона Angular 1)
  4. Выберите сервис, который вы хотели бы перенести
    • Большинство услуг должны требовать минимальных изменений.
    • Сконфигурируйте сервис в Angular 2.
    • (опционально) реэкспорт сервиса в Angular 1 с помощью ng-upgrade, если он все еще используется другими частями вашего кода Angular 1
  5. Повторите шаги 2 и 3 в порядке, удобном для разработки вашего приложения.
  6. Когда больше нет необходимости конвертировать сервисы / компоненты, удалите загрузочную версию Angular 1 верхнего уровня и замените загрузочную версию Angular 2.

ссылка: http://angularjs.blogspot.com/2015/08/angular-1-and-angular-2-coexistence.html

Существует онлайн-сайт, который преобразует угловые фрагменты HTML-кода 1.x в Angular 4.x. он пока не поддерживает ts, но если у вас старое приложение с большим количеством HTML-страниц, это может пригодиться.

https://www.linkedin.com/pulse/online-angular-1x-4x-converter-balram-chavan

http://angular.cloud/

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