Руководство по обновлению с RxJS v5.x до v6 RxJS v6 прибыл!Хотя это значительное изменение версии (с 5.x до 6.x), мы проделали большую работу, чтобы свести к минимуму серьезные изменения.В большинстве случаев это позволяет разработчикам приложений и библиотек выполнять постепенное обновление и использовать RxJS v6 без каких-либо изменений в своем коде.
Уровень обратной совместимости облегчает процесс обновления, позволяя поддерживать работу приложений во время обращения к ним.большинство кода изменяется в своем собственном темпе.Весь процесс может быть выполнен поэтапно:
Обновление до последней версии RxJS 5.5 и убедитесь, что вы исправили все проблемы, вызванные исправлениями ошибок.
Установите RxJS v6 вместе с пакетом обратной совместимости , rxjs-compat.
Если на ваше приложение влияют несколько если внесенные изменения не включены в 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 может привести к существующим ошибкам типов, которые ранее не отображались.