讲师中心 微信公众号
AI工具推荐 视频效率加速

浅谈Angular10中的新功能

星枫君_3877

星枫君_3877

发布时间:2021-04-06 11:14:45

|

2691人浏览过

|

来源于csdn

转载

本篇文章带大家了解一下angular10中的新功能。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

浅谈Angular10中的新功能

Angular 10是对流行的Web开发框架的主要升级,通常会在6月24日作为正式版本提供。正式版升级是基于Google开发的基于TypeScript的框架,与新版本相比,它更加注重质量,工具和生态系统的改进特征。

Angular 10小于以前的Angular版本。 新功能包括Angular Material UI组件库中的新日期范围选择器和CommonJS导入警告。 当与CommonJS打包的依赖项可能导致更大,更慢的应用程序一起使用时,CommonJS导入警告会警告开发人员,从而允许开发人员替换ECMAScript模块包。

相关教程推荐:《angular教程》

此外,可选的严格设置,创建一个新的工作区时提供了一个更严格的项目设置ng new ,通过ng new -- strict 。 启用此标志将使用新设置初始化新项目,以提高可维护性,帮助捕获错误并允许CLI在应用程序上进行高级优化。

在哪里下载Angular 10


您可以在GitHub上找到Angular 10的一般版本 。 要更新当前的Angular安装,可以运行以下命令:

ng update @angular/cli @angular/core

Angular 10的新功能


Angular 10的主要功能包括:

  • TSlib,包含帮助函数的TypeScript运行时库,已更新为TSlib 2.0。 用于TypeScript的TSLint静态分析工具已更新为TSLint 6。
  • 添加了一个编译器接口,用于包装实际的ngtsc编译器。 特定于语言服务的编译器使用项目接口管理多个类型检查文件,并根据需要创建Scriptinfos。
  • 新项目的浏览器配置已更新,以排除较旧的,较少使用的浏览器。 不支持Internet Explorer 9,Internet Explorer 10和Internet Explorer Mobile。
  • Angular软件包格式不再包含ESM5或FESM5软件包,在为Angular软件包和库运行yarn或npm install时,节省了下载和安装时间。
  • 对于编译器,已为属性读取和方法调用添加了名称范围。
  • EntryPointFinder ,这是一个基于程序的入口点查找器,可以从tsjconfig.json文件指定的程序中的导入中获得种子。 当活动程序仅导入一小部分已安装的入口点时,这预计会比DirectoryWalkerEntryPointFinder更快。
  • 由于具有可疑的价值和性能问题,自动完成功能已从HTML实体(如&amp )中删除。
  • 显式映射从闭包公开到devmode文件。 此功能针对必须将生产构建输入转换为等效devmode的开发工具。
  • 一项重大更改是,将ModuleWithProviders强制ModuleWithProviders 。 为了使ModuleWithProviders模式与Ivy编译和渲染管道一起使用,需要使用通用类型参数,但是在此提交之前,View Engine允许省略通用类型。 如果开发人员使用不带泛型类型的ModuleWithProviders ,则版本10迁移将更新代码。 但是,如果开发人员使用View Engine并依赖于忽略泛型类型的库,则会发出构建错误。 在这种情况下,ngcc将无济于事,迁移将仅涵盖应用程序代码。 应该与图书馆作者联系以修复他们的图书馆。 解决方法是,可以在tsconfig中将skipLibChecks设置为false或将应用程序更新为仅使用Ivy。
  • 现在具有TypeScript 3.9的功能,并且删除了对TypeScript 3.8的支持。 这是一个重大变化。 也不再支持TypeScript 3.6和TypeScript 3.7。
  • 类型检查的性能已改进到编译器cli。
  • 为了提高性能,已对basePaths的计算进行了延迟,因此仅在TargetedEntryPointFinder需要时才进行工作。 以前,每当实例化查找程序时都会计算basePaths ,这在已经处理了目标入口点的情况下浪费了精力。
  • 支持合并多个翻译文件。 以前,每个语言环境仅允许一个翻译文件。 现在,用户可以在每个语言环境中指定多个文件,并且每个文件的事务都将通过消息传递ID合并。
  • 可以配置异步锁定超时。 这增加了对ngcc.config.js文件的支持,用于设置retryAttempts和retryDelay选项。 集成测试添加了新的超时检查,并使用ngcc.config.js减少了超时时间,以防止测试花费太长时间。
  • 在一项重大更改中,有关未知元素的警告现在记录为错误。 虽然这不会破坏应用程序,但它可能会触发一些期望通过console.error不记录任何内容的工具。
  • 在另一个重大更改中,任何返回EMPTY解析器都将取消导航。 为了使导航继续进行,开发人员必须更新解析器以更新某些值,例如default!Empty 。
  • 在元数据中添加了依赖项信息和ng-content选择器。 提议的编译器功能将提供对诸如Angular Language Service之类的工具有用的附加元数据,并具有为库中定义的指令/组件提供建议的能力。
  • 通过减小入口点清单的大小和清单中的缓存技术来实现性能改进。 另外,依赖项的缓存是在入口点清单中完成的,并从那里读取,而不是每次都进行计算。 以前,即使不需要处理入口点,ngcc(Angular Ivy兼容性编译器)也将解析入口点的文件以计算依赖关系,这对于large_node模块将花费大量时间。
  • 为了提高ngcc性能,现在允许立即报告陈旧的锁定文件。 此外,还将存储已解析的tsconfig文件的缓存副本,如果tsconfig路径相同,则可以重复使用该副本。
  • 在一项重大更改中,逻辑已更新,涉及格式化午夜的白天。 当使用b或B格式代码格式化时间时,呈现的字符串不能正确处理跨越几天的白天。 相反,逻辑回落到AM的默认情况。 此逻辑已更新,因此它可以匹配在午夜之后的一天中的时间,因此它现在将呈现正确的输出,例如at night英语的at night 。 使用formatDate()或DatePipe或b和B格式代码的应用程序将受到此更改的影响。
  • 对于路由器, CanLoad保护器现在可以返回Urltree 。 返回Urltree的CanLoad防护Urltree取消当前导航并重定向。 这与CanActivate守卫可用的当前行为匹配,该行为也已添加。 这不会影响预加载。 CanLoad保护程序会阻止任何预加载; 带有CanLoad防护的任何路由都不会被预加载,并且防护也不会作为预加载的一部分执行。
  • 微语法表达式的ExpressionBinding与ParsedProperty的ExpressionBinding中正确值范围的传播,这又会将范围传播到模板AST(VE和Ivy)。 该建议也适用于编译器。
  • 在对内核的修复中,会将逻辑添加到未修饰的类迁移中,以修饰使用Angular功能的未修饰类的派生类。
  • 在重大更改中,Urlmatcher的类型将反映出它始终可以返回null。
  • 对于服务人员,已修复了一种情况,即当任务长期运行或超时时,服务人员可能永远不会注册。
  • 已经进行了许多错误修复,包括编译器避免了有Kong数组中未定义的表达式,以及内核避免了导入不存在的符号时的迁移错误 。 在Terser内联bug的核心中也有一种解决方法。 另一个错误修复程序正确地标识了受TestBed中的替代影响的模块 。
  • Angular NPM不再包含某些jsdoc注释来支持Closure Compiler的高级优化。 这是一个重大变化。 软件包中对Closure Compiler的支持已经试验并中断了一段时间。 使用Closure Compiler的任何人最好直接使用从源代码构建的Angular软件包,而不是使用NPM上发布的版本。 作为临时的解决方法,用户可以考虑将其当前的构建管道与Closure标志--compilation_level=SIMPLE 。 该标志将确保构建管道生成可构建的,可运行的工件,但由于禁用了高级优化而增加了有效负载大小。
翻译自: https://www.infoworld.com/article/3537449/whats-new-in-angular-10.html

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

292

2026.02.13

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

500

2026.02.25

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

351

2026.03.13

TypeScript 全栈开发进阶指南
TypeScript 全栈开发进阶指南

面向有 JavaScript 基础的开发者,深入讲解 TypeScript 的类型系统与全栈开发实践。

266

2026.06.03

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

578

2026.06.16

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2095

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3162

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1056

2023.10.13

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn