Миграция с RxJS 5 на RxJS 6 в проекте Angular 4.3 - PullRequest
0 голосов
/ 03 октября 2018

Итак, у меня есть проект на Angular 4.3.1 с RxJS 5.4.3?Мне нужно перейти на RxJS 6, но сохранить существующую версию Angular.Я прочитал это руководство и шаги, которые я должен сделать:

  1. Обновление rxjs до версии 5.5 и исправление возможных ошибок.
  2. Обновление rxjs 6 и установите rxjs-compat для совместимости, исправьте возможную ошибку, которая не покрывается rxjs-compat

И яне нужно менять существующий код: импортировать, добавлять каналы и прочее.Все должно работать?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Руководство по обновлению с RxJS v5.x до v6 RxJS v6 прибыл!Хотя это значительное изменение версии (с 5.x до 6.x), мы проделали большую работу, чтобы свести к минимуму серьезные изменения.В большинстве случаев это позволяет разработчикам приложений и библиотек выполнять постепенное обновление и использовать RxJS v6 без каких-либо изменений в своем коде.

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

  1. Обновление до последней версии RxJS 5.5 и убедитесь, что вы исправили все проблемы, вызванные исправлениями ошибок.

  2. Установите RxJS v6 вместе с пакетом обратной совместимости , rxjs-compat.

  3. Если на ваше приложение влияют несколько если внесенные изменения не включены в rxjs-compat, обновите соответствующий код в соответствии с инструкциями, приведенными ниже.

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

Для рефакторинга кода TypeScript, чтобы он не зависел от rxjs-compat, вы можете использовать rxjs-tslint.

npm i -g rxjs-tslint
rxjs-5-to-6-migrate -p [path/to/tsconfig.json]
Перед выпуском RxJS v7 вам необходимо будет удалить и заменить все устаревшие функции.

Обратная совместимость Чтобы минимизировать влияние обновления, RxJS v6Выпускается с пакетом «брат», rxjs-compat, который обеспечивает уровень совместимости между API v6 и v5.Большинство разработчиков с существующими приложениями должны выполнить обновление, установив rxjs и rxjs-compat на ^ 6.0.0:

npm install rxjs@6 rxjs-compat@6 --save

Подробнее об этом пакете см. https://www.npmjs.com/package/rxjs-compat.

Пакет совместимости увеличиваетсяразмер пакета вашего приложения, поэтому мы рекомендуем удалить его, как только ваше приложение и его зависимости были обновлены.Это увеличение размера усугубляется, если вы используете версию Webpack до 4.0.0.Полное объяснение того, что вам нужно обновить, чтобы удалить rxjs-compat, см. Удаление слоя совместимости .Также обратите внимание, что полное обновление вашего приложения до v6 может привести к существующим ошибкам типов, которые ранее не отображались.

0 голосов
/ 03 октября 2018

Я столкнулся с той же проблемой несколько дней назад в моем проекте, где установка 'rxjs-compat' временно исправила проблему.Но через неделю проект начал выдавать ошибки rxjs.Наконец мне пришлось поменять импорт и трубы тоже.Я настоятельно рекомендую обновить ваш код раньше, чтобы избежать ошибок в последнюю минуту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...