写点什么

Angular 10 正式发布,不再支持 IE9/10!

  • 2020-06-29
  • 本文字数:1611 字

    阅读完需:约 5 分钟

Angular 10正式发布,不再支持 IE9/10!

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)包。



CommonJS 或 AMD 依赖项可能导致优化 bailout

可选的更严格设置

当你使用 ng new 创建新的工作区时,v10 提供了一个更严格的项目设置选项。


ng new --strict
复制代码


启用此标志会使用一些新设置初始化你的新项目,这些设置可以提高可维护性,帮助你提前捕获错误并允许 CLI 在你的应用上执行一些高级优化措施。具体来说,strict 标志执行以下操作:


  • 在 TypeScript 中启用严格模式;

  • 将模板类型检查设置为 Strict;

  • 将默认包预算减少约 75%;

  • 配置 linting 规则以防止声明 any 类型;

  • https://palantir.github.io/tslint/rules/no-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


2020-06-29 17:273369

评论

发布
暂无评论
发现更多内容

RxJava的操作符

急需上岸的小谢

10月月更

详解CAN总线:CAN总线故障界定与管理

不脱发的程序猿

汽车电子 CAN总线 CAN总线故障界定 CAN错误故障诊断

el-table表格还可以这么玩

江拥羡橙

Vue 3 Element UI 10月月更

SAP | 内部表的表类型

暮春零贰

SAP 10月月更 内部表

Sonatype Nexus 管理员初始密码

HoneyMoose

YARN基本架构

穿过生命散发芬芳

YARN 10月月更

GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发

乌龟哥哥

10月月更

【愚公系列】2022年10月 Go教学课程 035-接口和继承和转换与空接口

愚公搬代码

10月月更

Git 操作命令笔记

宇宙之一粟

git 10月月更

智能化运维场景分析

阿泽🧸

10月月更 智能化运维

数据湖(六):Hudi与Flink整合

Lansonli

10月月更 Hudi与Flink整合

【一Go到底】第二十一天---defer

指剑

Go golang 10月月更

CentOS 上安装 Sonatype Nexus 仓库

HoneyMoose

Fabric8 Docker Maven Plugin 如何让部署的时候执行 Docker 打包推送

HoneyMoose

2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。 package main import ( “fmt“ ) func main() { const

福大大架构师每日一题

golang 福大大 选择题

微信小程序云开发收费调整,大家怎么看?

江拥羡橙

微信小程序 云开发 10月月更

过去几个月,他们把数字化融进了中国经济的毛细血管

脑极体

加密标准中DES与AES到底是什么?两者有啥区别?

wljslmz

信息安全 加密 AES 10月月更 DES

“程”风破浪的开发者|如何更好的学习专业知识

闫同学

学习方法 10月月更 “程”风破浪的开发者

Maven docker-maven-plugin 插件 Push 413 错误

HoneyMoose

Glibc-scratch_buffer的源码分析

桑榆

源码刨析 10月月更 C++

Vue组件入门(十一)$attrs

Augus

Vue 3 10月月更

“程”风破浪的开发者|代码规范

over℡

学习方法 “程”风破浪的开发者

golang中的切片

六月的

Go slice

数据开发也能双轮驱动?

乌龟哥哥

10月月更

“程”风破浪的开发者|Web3.0是什么?带你解析Web3.0

芯动大师

Web3.0 “程”风破浪的开发者 Web2.0

Spring Batch 中的 chunk

HoneyMoose

群晖(Synology)NAS 安装 MongoDB

HoneyMoose

【设计模式】Java 语言不同的编程范式-第1章

跟着飞哥学编程

设计模式 编程范式 java 编程 10月月更

PHP出发(php+apache+MySQL)

江拥羡橙

php MySQL apache 社区 10月月更

Angular 10正式发布,不再支持 IE9/10!_语言 & 开发_Stephen Fluin_InfoQ精选文章