Angular入門到精通系列教程(6)- Angular的升級

環境:

  • Angular CLI: 11.0.6
  • Angular: 11.0.7
  • Node: 12.18.3
  • npm : 6.14.6
  • IDE: Visual Studio Code

1. 摘要

近些年Web技術飛速發展,新的類庫、框架如雨後春筍般不斷湧現,而每個類庫也不斷的更新、升級,甚至是不再兼容的升級。筆者之前維護的一個6年項目,是用jQueryMobile開發的,估計入門web開發比較短的同學都沒有聽說過吧。另外,就拿Angular來說,從2.0開始,使用ts開發,不再兼容1.0 版本。從2.0開始,命名為Angular,1.0的叫angularJS, 2個版本徹底切割。而這也是angular流失很多用戶的其中一個原因。

針對這些問題,Angular專門提供了版本升級的指導方案,非常詳細、準確(Angular每半年發佈一個主版本,這個也是必須的)。

2. //update.angular.io/

//update.angular.io/ 是官方的angular升級指導頁面,你可以選擇你的項目的版本,以及要升級到的版本;同時可以選擇項目使用的技術,比如是否使用了Angular Material (這也是之前推薦這個UI框架的原因–升級方便),是否和AngualrJS同時使用等等。之後,自動提示升級步驟。

升級主要通過 ng update xxx 來實現, ng update 命令不同於npm命令,npm update相當於 npm+更改配置(代碼),也就是說,再更新完node-modules之後,ng update會自動更新配置文件,甚至是代碼中的基本的import的代碼,實現自動升級、更新。

舉例,10.2升級到11.1,如果沒有涉及到複雜的anuglar技術,大致的升級步驟是:

  • Run ng update @angular/core @angular/cli which should bring you to version 11 of Angular.
  • Run ng update @angular/material.
  • Angular now requires TypeScript 4.0. ng update will migrate you automatically.
  • Support for IE9, IE10, and IE mobile has been removed. This was announced * in the v10 update.

3. 總結

  • Angular雖然更新、升級比較頻繁(從某種意義上也是優點),但是升級部分確實做得最完善的
  • UI框架,@angular/material可以實現和Angular的同步升級,其他第三方框架,都會有演示,時間不等
  • 個人不推薦使用最新的版本,不做小白鼠。可以使用之前發佈的一個版本,比如現在是v11,那麼我們就使用v10。更穩定,同時網上資料也多。
  • 及時更新angular版本,免得技術債欠的越來越多而導致無法升級。
  • 這個升級指導也是相對的,如果你對Angular有些特殊的用法,或者沒有安裝官方推薦方式使用,升級也是比較麻煩的。
  • 升級時,如果跨多版本,建議一個版本一個版本的升級,每升級一次,執行UT或者把站點跑起來試試,以防出錯。

—————- END —————-

======================

Tags: