Điểm nổi bật của bản nâng cấp mới nhất cho framework web do Google phát triển bao gồm các loại nghiêm ngặt hơn (stricter types), cải tiến hiệu suất bộ định tuyến và nội tuyến phông chữ tự động.
Với tính năng cuối cùng này, các ứng dụng được tạo ra nhanh hơn bằng cách tăng tốc độ hiển thị nội dung đầu tiên . Trong thời gian biên dịch, Angular CLI sẽ tải xuống và các phông chữ nội tuyến đang được sử dụng và liên kết trong ứng dụng. Theo mặc định, in thẳng phông chữ tự động sẽ được bật trong các ứng dụng có Angular 11. Các ứng dụng sẽ cần được cập nhật để tận dụng lợi thế này.
Có sẵn trên GitHub , bản phát hành sản xuất Angular 11 sau một loạt các phiên bản beta và các ứng cử viên phát hành. Các cải tiến khác trong Angular 11 bao gồm:
- Cải tiến hiệu suất và các API mới, với
parallel
chức năng giúp làm việc với các hành động không đồng bộ dễ dàng hơn trong các thử nghiệm bằng cách cho phép song song nhiều tương tác không đồng bộ với các thành phần. - Các kiểu chặt chẽ hơn được thêm vào cho
DatePipe
và số đường ống (pipe number), để bắt các trường hợp lạm dụng như truyền một mảng có thể quan sát hoặc một mảng. - Cải thiện báo cáo và ghi nhật ký.
- Bản cập nhật cho Dịch vụ ngôn ngữ Angular, cung cấp trải nghiệm mạnh mẽ hơn và chính xác hơn.
- Bản cập nhật hỗ trợ Thay thế mô-đun nóng (HMR) thúc đẩy CLI để cho phép kích hoạt HMR khi khởi động ứng dụng với
ng serve
. - Hỗ trợ Webpack 5 thử nghiệm cung cấp một đường dẫn đến các bản dựng nhanh hơn với bộ nhớ đệm đĩa liên tục và các gói nhỏ hơn nhờ tính năng rung cây CommonJS.
- TSLint đã không còn được dùng nữa, với những người tạo dự án khuyên bạn nên chuyển sang ESLint.
- Đối với trình biên dịch Angular,
keySpan
sẽ được thêm vàoVariable
nút. - Bộ định tuyến trong Angular 11 sẽ thay đổi giá trị mặc định
relativeLinkResolution
từ “kế thừa” thành “đã sửa chữa”. Quá trình di chuyển cập nhật cácRouterModule
cấu hình sử dụng giá trị mặc định để giờ đây đặc biệt sử dụng “kế thừa” để ngăn chặn sự cố trong quá trình cập nhật. - Trong một bản sửa lỗi cho cốt lõi, chính sách Trusted Types đang được giới thiệu trong chế độ phát triển. Nó cho phép các chuyển đổi không an toàn tùy ý sang Trusted Types cậy để hỗ trợ các tính năng phát triển. Ngoài ra, một mô-đun đang được thêm vào để tạo Trusted Types để Angular sử dụng nội bộ.
- Các tùy chọn InitialNavigation mới đang được thêm vào chức năng kế thừa.
- Để tái cấu trúc mã trong bộ định tuyến, loại tham số trong
navigateByUrl
vàcreateUrlTree
đang được điều chỉnh để chính xác hơn. - Để cải thiện hiệu suất bộ định tuyến,
ngDevMode
có thể được sử dụng để rung cây thông báo lỗi. - Đối với service-worker, một
UnrecoverableStateError
thông báo đang được thêm vào, khắc phục sự cố trong đó trạng thái bị hỏng sẽ phát sinh trong đó chỉ các phần của ứng dụng mới tải đúng cách. Tình huống này đã phát sinh khi trình duyệt đã loại bỏ các tài sản được lưu trong bộ nhớ cache một cách háo hức khỏi bộ nhớ cache mà không thể tìm thấy trên máy chủ nữa. - Hỗ trợ/Support bị xóa đối với trình duyệt Microsoft IE 9 và IE 10 cũng như hỗ trợ IE dành cho thiết bị di động.
- Hỗ trợ định dạng năm đánh số theo tuần ISO đang được thêm vào
formatDate
. - Đối với compiler-cli , các giao diện đang được xác định có thể được sử dụng cho
TemplateTypeChecker
. Cải tiến hiệu suất cũng đã được thực hiện cho compiler-cli . - Đối với phần lõi, quá trình di chuyển đang được thêm vào để tìm tất cả các lần nhập và lệnh gọi đến
hàm đồng bộ / async function
không dùng nữa@angular/core/testing
và thay thế chúng bằngwaitforasync
. null
bây giờ được bao gồm trong các loại.parent
.- Nhiều bản sửa lỗi đã được lên kế hoạch, bao gồm cải tiến cách gõ các đường ống phổ biến (common pipe) và một bản sửa lỗi khác để đảm bảo
TestBed
không được khởi tạo trước trình cung cấp ghi đè . - Hỗ trợ TypeScript 3.9 đã bị xóa khỏi trình biên dịch. Nên nâng cấp lên TypeScript 4.0 .
Tham khảo: https://www.infoworld.com/article/3584372/whats-new-in-angular-11.html