本文作者|Stephen Fluin 译者|王强 策划|李俊辰,原文链接:原文链接 https://blog.angular.io/version-10-of-angular-now-available-78960babd41
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
逆锋起笔
是一个专注于程序员圈子的技术平台,你可以收获最新技术动态
、最新内测资格
、BAT等大厂的经验
、精品学习资料
、职业路线
、副业思维
,微信搜索逆锋起笔
关注!
相关推荐
在本文中,我们将深入探讨如何实现“angular-file-upload-forie9”项目,这是一个针对AngularJS框架的文件上传组件,经过修改后,它已兼容Internet...这个项目的实施对于那些仍然需要支持IE9的开发者来说是宝贵的资源。
`IE8.js`和`IE9.js`是开源的JavaScript库,由谷歌的 Closure Compiler 编译而成,它们主要目标是弥补IE8和IE9在支持JavaScript新特性和CSS3方面与现代浏览器之间的差距。通过引入这些脚本,开发者可以确保他们的网站...
项目需要、在网上查找angularjs支持ie低版本的问题(主要是windows7下只有IE8)整理了一个小demo 主要两点 1、ng-app="myApp" id="test11" 加上id="XXX" 加入以下代码注册到页面上 angular.element(document)....
尽管AngularJS 1.x系列支持IE8,但在1.3及以上版本中逐渐取消了支持。因此,如果你需要兼容IE8,`angular-1.2.23`是一个合适的选择。 ### 10. 依赖注入(Dependency Injection) AngularJS的依赖注入系统使得组件...
一个库,其中有50多个针对Angular 4/5/6/7/8/9/10的加载微调器。 ( )NgxSpinner什么是新的Angular 10支持 :partying_face: :partying_face: :partying_face: :partying_face: 最新角度依赖ng add命令将ngx-spinner...
2. **升级路径**:如果你的应用基于1.2.13,了解如何逐步升级到AngularJS 1.5或更新的版本,以及最终迁移到Angular(Angular 2+)是非常重要的,因为AngularJS 1.x不再接受新的功能更新。 3. **最佳实践**:了解如何...
角屏匹配 用于执行屏幕尺寸相关任务的简单 Angular API。 窗口上的单个调整大小...IE10) 将模块声明为依赖项 angular . module ( 'yourmodule' , [ 'angular.screenmatch' ] ) ; 将屏幕匹配注入控制器 angular . c
因此,如果你的应用需要支持IE低版本,可能需要寻找其他兼容性更强的解决方案或者添加polyfills来弥补这些差异。 ### 4. 使用步骤 - **安装**:通过npm或Bower安装Angular-File-Upload库。 - **导入模块**:在你的...
为了解决这个问题,开发者们通常会借助于像`angular-file-saver`这样的库,它是一个AngularJS服务,专门用于在不支持`saveAs()`的浏览器中实现文件保存功能。 `angular-file-saver`是一个小巧而强大的AngularJS服务...
WUI-DatePicker不仅支持现代浏览器,还努力兼容旧版IE浏览器,以确保广泛的应用场景。同时,通过与其他Angular.js组件和服务结合,可以实现更复杂的日期处理逻辑,如日期范围选择、日期验证等。 总结,Angular.js的...
4. **升级浏览器**:尽管这在实际项目中可能不可行,但建议客户升级到至少IE9或更现代的浏览器,因为这些浏览器对现代Web标准的支持更好,可以提供更好的用户体验。 5. **采用其他框架/库**:如果兼容IE8是硬性要求...
在实际应用中,使用IE兼容性插件如PIE,可以显著提升用户体验,特别是对于那些仍需支持IE浏览器的企业级应用。以下是一些关键知识点: 1. **CSS3属性支持**:PIE插件支持的CSS3属性包括border-radius(圆角)、box-...
如果由于某种原因不能直接使用库(IE9限制),我们直接在该项目中重用了该项目的代码。 请查看下面的库,获取一些编写精美的代码。 角带 角靴 瓦尔德 贡献 确保发布发生在master分支上: git checkout master ...
由于AngularJS 1.3原生不再支持IE8,因此需要一些额外的工作来确保兼容性。`angular.js-ie8-builds-master`这个压缩包包含了针对IE8优化的AngularJS构建,以及可能的修复和调整。 首先,让我们理解AngularJS 1.3的...
另外,IE9及以下版本不支持`addEventListener`,需使用`attachEvent`。 5. **XDomainRequest对象** 在IE8至IE10中,跨域请求使用的是XDomainRequest对象,而不是标准的XMLHttpRequest。它有更严格的限制,如不支持...
Angular 2 支持主流现代浏览器,包括 Chrome、Firefox、Safari、Edge 和 IE11(需借助 polyfills 提供对旧浏览器的支持)。 【Angular 2 快速启动】 要开始一个 Angular 2 项目,首先需要安装 Node.js 和 npm,...
3. **不支持IE8**:与Angular一样,VueJS也不再支持旧版的IE浏览器。 AngularJS,由Google维护,是一款功能全面的MVW框架,提供模板、双向数据绑定、路由、模块化、服务和依赖注入等功能。AngularJS的模板语言强大...
6. **兼容性**:该组件适用于多种浏览器,包括IE9及以上的现代浏览器,确保了广泛的应用场景。 7. **API接口**:提供了一套丰富的API接口,可以方便地控制树的显示状态,如`treeCtrl.expandAll()`用于展开所有节点...
支持所有主要浏览器和IE11及更高版本(可能不支持较低版本) 特征: 坚持一切! 超级流畅! 在现实世界的项目中测试 支持Angular Universal 切换到粘性模式时防止页面跳转 没有jQuery或其他依赖项-纯粹的...
角螺纹 原始绑定史上最简单有趣的多...环境Chrome >= 5 火狐 >= 3 野生动物园 >= 5 歌剧 >= 12 IE >= 9(IE8 未得到官方支持,但可能有效) PhantomJS >= 1.7 SlimerJS >= 0.8设置加载模块作为应用程序的依赖项 var a