Angular v10.0.0 正式發佈了!這是跨越整個平臺(包括框架、Angular Material 和 CLI)的一次主要版本更新。這次的新版發佈間隔比以往短一些。自我們發佈 Angular 9.0 版以來只過去了四個月。
我們嘗試每年發佈兩個主要版本,以使 Angular 與其他 JavaScript 生態系統保持同步,並給出可預測的時間表。我們計劃在今年秋天發佈 v11 版。
新版內容
新的日期範圍選擇器
Angular Material 現在提供了一個新的日期範圍選擇器。
可以通過 mat-date-range-input 和 mat-date-range-picker 組件使用它。
請參閱 StackBlitz 上的這個示例:
https://stackblitz.com/angular/nknyovevygv?file=src%2Fapp%2Fdate-range-picker-overview-example.html
更多細節請查閱 date range selection:
https://next.material.angular.io/components/datepicker/overview#date-range-selection
關於 CommonJS 導入的警告
當用戶使用 CommonJS 打包的依賴項時,它可能導致應用程序膨脹且變慢。
https://web.dev/commonjs-larger-bundles/
從 v10 開始,當你的構建引入這種包時就會看到警告。如果你處理依賴項時看到了這類警告,請將依賴項替換爲 ECMAScript 模塊(ESM)包。
可選的更嚴格設置
當你使用 ng new 創建新的工作區時,v10 提供了一個更嚴格的項目設置選項。
ng new --strict
啓用此標誌會使用一些新設置初始化你的新項目,這些設置可以提高可維護性,幫助你提前捕獲錯誤並允許 CLI 在你的應用上執行一些高級優化措施。具體來說,strict 標誌執行以下操作:
- 在 TypeScript 中啓用嚴格模式;
- 將模板類型檢查設置爲 Strict;
- 將默認包預算減少約 75%;
- 配置 linting 規則以防止聲明 any 類型;
- 將你的應用配置爲 side-effect-free,以實現更高級的 tree-shaking 優化。
與生態系統保持同步
與往常一樣,我們對 Angular 的依賴項進行了一些更新,以與 JavaScript 生態系統保持同步。
- TypeScript 升至 TypeScript 3.9
- TSLib 已更新至 v2.0
- TSLint 已更新至 v6
我們還更新了項目佈局。從 v10 開始,你將看到一個新的 tsconfig.base.json。這個新增的 tsconfig.json 文件可以更好地支持 IDE 和構建工具解析類型和包配置。
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
新的默認瀏覽器配置
我們更新了新項目的瀏覽器配置,剔除了較舊和較少使用的瀏覽器。
v9 默認值
v10 默認值
新值的副作用是默認爲新項目禁用了 ES5 構建。要爲需要它的瀏覽器(例如 IE 或 UC 瀏覽器)啓用 ES5 構建和差異化加載,只需在.browserslistrc 文件中添加你要支持的瀏覽器即可。
https://github.com/browserslist/browserslist#browserslist-
Angular Team Fixit
我們大幅增加了對社區合作的投入。在過去的三週中,我們在框架、工具和組件中的未解決問題數量減少了 700 多個。我們已解決了 2,000 多個問題,並計劃在接下來的幾個月中投入大量資源,與社區合作做更多事情。
棄用和移除
Angular 新版增加了一些新的棄用和移除。
Angular Package Format 不再包含 ESM5 或 FESM5 包,在爲 Angular 包和庫運行 yarn 或 npm install 時,這可以節省 119MB 的下載和安裝時間。之所以不再需要這些格式,是因爲支持 ES5 所需的降級操作都會在構建流程結尾完成。
經過與社區的大量協調溝通,我們不再支持一些舊版瀏覽器,包括 IE9、10 和 Internet Explorer Mobile。
在下方鏈接查閱關於棄用和移除的更多信息。
http://v10.angular.io/guide/deprecations
如何更新到 v10 版本
請訪問 update.angular.io 以獲取詳細信息和指導。爲了獲得最佳的更新體驗,我們建議每次只升級一個主要版本。
要更新時:
ng update @angular/cli @angular/core
你可以在我們的 v10 版本更新指南中瞭解更多細節。
https://v10.angular.io/guide/updating-to-version-10
原文鏈接
https://blog.angular.io/version-10-of-angular-now-available-78960babd41