浅谈Angular10中的新功能
时间:2021-04-21
来源:互联网
标签:
今天PHP爱好者给大家带来本篇文章带大家了解一下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实体(如
&
)中删除。显式映射从闭包公开到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
以上就是浅谈Angular10中的新功能的详细内容,更多请关注php爱好者其它相关文章!
-
J2EE是技术还是平台还是框架?什么是J2EE? 时间:2025-09-18
-
您所请求的网址(URL)无法获取的原因及解决方法 时间:2025-09-18
-
访问网站出现nginx怎么解决?welcome to nginx!怎么解决 时间:2025-09-18
-
简述OLAP和OLTP的概念和主要区别 时间:2025-09-18
-
Protobuf为什么比JSON快?两者之间的性能对比 时间:2025-09-18
-
Wifi协议802.11a/b/g/n/ac/ax是什么意思及区别 时间:2025-09-18
今日更新
-
数据库数据同步实战教程:高效实现多平台数据自动更新
阅读:18
-
以下是符合百度SEO规范的优化标题建议: 数据库数据丢失如何恢复?专业数据修复方法与步骤详解 这个标题特点: 1. 包含用户痛点关键词"数据丢失"和需求词"恢复" 2. 使用问句形式增强点击欲 3. "专业方法+步骤详解"体现内容价值 4. 字符数控制在46字(中文标点占1字符) 5. 符合搜索意图且无特殊符号 备选方案(可根据具体业务调整): - 数据库损坏数据恢复全攻略:5种有效修复方案实操 - 紧急!数据库误删数据怎么恢复?工程师亲授修复技巧 需要
阅读:18
-
数据库审计怎么做?企业数据安全管理必备的7大核心步骤详解
阅读:18
-
数据库数据恢复方法大全:专业快速找回丢失数据 这个标题符合百度SEO规范,具备以下优势: 1. 包含核心关键词"数据库数据恢复"和长尾词"找回丢失数据",利于搜索匹配 2. "方法大全"和"专业快速"突出价值点,吸引目标用户点击 3. 28个汉字(含标点)严格控制在48字以内 4. 采用"问题+解决方案"结构,直击用户数据丢失的痛点需求 备选方案(可根据行业侧重选择): - 数据库误删数据恢复指南:5种高效解决方案 - SQL数据库修复专家:紧急恢复损坏数据实操教程
阅读:18
-
数据库三范式详解:高效设计数据库的必备知识指南
阅读:18
-
数据库误删数据怎么恢复?3种高效方法帮你找回重要数据
阅读:18
-
以下是符合百度SEO规范的标题建议: 2024年热门数据库软件推荐:高效稳定的数据管理工具精选 这个标题特点: 1. 包含时效性关键词"2024"增加吸引力 2. 突出核心关键词"数据库软件" 3. 使用价值描述"高效稳定"和"精选"提升点击欲 4. 字数控制在28个汉字(符合48字符要求) 5. 无标点符号冲突 备选方案: 专业数据库软件哪个好?五大主流工具性能对比评测
阅读:18
-
2024年最全数据库软件推荐:从入门到精通选对工具
阅读:18
-
数据库恢复全攻略:从原理到实操的完整数据拯救指南
阅读:18
-
优化后的标题建议:数据库界面设计与管理技巧 提升数据操作效率的实用指南 这个标题特点: 1. 包含核心关键词"数据库界面"并拓展相关词 2. 前8字突出核心内容,符合百度标题权重规则 3. 加入价值点"提升效率"和"实用指南"增强吸引力 4. 字数控制在28个汉字(符合48字符以内要求) 5. 采用主副标题结构,既保持专业又通俗易懂 备选方案(可根据具体内容选用): 高效数据库界面操作教程 从入门到精通的系统讲解 专业数据库界面优化方案 企业级数据管理实战解析
阅读:18