Angular 18 簡介
去年 11 月才發布 Angular 17,僅相隔 6 個月的時間, Angular 18 就迅速登場。似乎象徵了近期各大前端框架正在進入快速迭代的時期。在此我們簡單的了解一下 Angular 18 有哪些主要的改變。
移除 zone.js
zone.js 原為 Angular 框架底層的偵測機制。刪除 ZoneJS 有了以下優點:
- 改進效能:ZoneJS 帶來了相當大的開銷,無論是在有效負載大小還是在啟動時間成本上。
- 改進的調試體驗:ZoneJS 讓調試程式碼變得更加困難。 ZoneJS 的堆疊追蹤更難理解。當程式碼因處於角度區域之外而導致程式碼中斷時,也很難理解。
- 更好的生態系統相容性:ZoneJS 透過修補瀏覽器 API 來運作,但不會自動為每個新瀏覽器 API 提供修補程式。有些 API 根本無法有效修補。
取而代之的,是 Zoneless 的登場,其為開發人員打開了許多大門:
- 提高微前端的可組合性以及與其他框架的互通性
- 更快的初始渲染和運行時間
- 更小的包大小和更快的頁面加載
- 更易讀的堆疊跟踪
- 調試更簡單
用於啟用 Zoneless 的 API 目前處於實驗階段。形狀和底層行為都不穩定,並且不會在補充版本中發生變化。存在已知的功能差距,包括缺乏符合人體工學的 API,這會阻止應用程式過早使用伺服器端渲染進行序列化。
Angular.dev 現在是 Angular 開發人員的新家
Angular 在 angular.dev上有一個全新的文檔,與其更新的品牌一致。改版後的網站擁有用戶友好的結構、指南的許多改進以及豐富的內容。值得注意的是,它引入了實現的互動式學習之旅。此功能使用戶能夠按照自己的節奏探索和學習 Angular 和 Angular CLI,所有這一切都可以在現代 Web 瀏覽器的便利下完成。這是一種更簡單、更容易掌握 Angular 複雜性的方法。
Angular Material 3
在幾個月前,Angular 引入了對 Material 3 的實驗性支援。
同時,Angular 18 也使用新的 Material 3 主題和文件更新了 material.angular.io 。現在開始,就可以在 Angular 的指南中找到如何在應用程式中使用 Angular Material 3 !
Angular DevTools
透過此工具,開發者可以更快速地進行前端畫面與程式碼架構的即時對應,幫助開發者快速進行修正。
統一控制狀態變更事件
FormControl
,FormGroup
而FormArray
Angular 表單中的類別現在公開一個名為的屬性events
,它允許開發者訂閱此表單控制項的事件流。使用後開發者可以追蹤值、觸控狀態、原始狀態和控制狀態的變化。
ng-content 指定預設內容
許多 Angualr 開發者提出最多的問題之一,是為 ng-content 指定預設內容。 v18 現已可用!這是一個簡單的例子:
用法:
顯示:
路由重定向作為函數
為了在處理重定向時實現更高的靈活性,在 Angular v18 中,redirectTo 現在接受一個返回字串的函數。例如,如果開發者想要重定向到依賴某些運行時狀態的路由,可以在函數中實作更複雜的邏輯:
TypeScript 5.4
TypeScript,是一種建立在 JavaScript 之上的語言,可以聲明和描述類型。在程式碼中編寫類型使我們能夠解釋意圖,並讓其他工具檢查我們的程式碼以發現拼字錯誤和問題。
Angular 18 更新了對 TypeScript 的依賴關係,讓開發者可以利用所有最新的TypeScript 5.4 功能!
心得總結
更新、更快、更厲害
相關連結
註:本文為 Louis Ho 撰寫,Steven Yeh 編輯,並使用 AI 工具進行部分內容翻譯與彙整。