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 —————-
======================