角度11

2020-11-12 19:51:33

11.0.0版本已经发布,我们为各地的角度开发人员提供了一些很棒的更新。此版本在整个平台上都有更新,包括框架、CLI和组件。让我们跳下去吧!

当我们分享ANGLE的路线图时,其中一个项目是Operation Byelog,我们承诺在分流问题和PR上投入大量的工程努力,直到我们清楚地了解更广泛的社区需求。现在我们可以报告原来的目标已经完成了!我们已经对所有三个Monorepos中的所有问题进行了分类,并将在报告新问题时继续进行这项工作。

这是我们的承诺:今后,所有报告的新问题都将在两周内进行分类。

现在,我们正在计划下一步的行动,以支持这个棱角分明的社区。我们将继续对问题进行分类和修复,并努力改进接受社区贡献的流程。

为了让你的应用程序更快地完成第一次内容丰富的绘制,我们引入了自动字体内联。在编译期间,ANGLE CLI将下载并内联应用程序中正在使用和链接的字体。默认情况下,我们在使用版本11构建的应用程序中启用此功能。要利用此优化功能,您只需更新您的应用程序!

在ANGLING v9中,我们引入了组件测试工具。它们提供了坚固且易读的API表面,以帮助测试角度材料组件。它为开发人员提供了一种在测试期间使用受支持的API与角度材质组件进行交互的方法。

随着版本11的发布,我们提供了所有组件的线束!现在,开发人员可以创建更健壮的测试套件。

我们还增加了性能改进和新的API。通过允许开发人员并行运行与组件的多个异步交互,并行函数使在测试中使用异步操作变得更容易。ManualChangeDetect函数通过禁用单元测试中的自动更改检测,使开发人员能够更精细地控制更改检测。

有关这些API和其他新特性的更多详细信息和示例,请务必查看角度材质测试工具文档!

我们对构建器阶段报告进行了更改,使其在开发过程中更有帮助。我们引入了新的CLI输出更新,使日志和报告更易于阅读。

ANGLE Language Service提供了有用的工具,使开发变得富有成效和趣味性。当前版本的语言服务是基于View Engine的,今天我们将对基于常春藤的语言服务先睹为快。更新的语言服务为开发者提供了更强大、更准确的体验。

现在,语言服务将能够正确地推断模板中的泛型类型,就像TypeScript编译器所做的那样。例如,在下面的屏幕截图中,我们可以推断迭代器的类型是字符串。

这一强大的新更新仍在开发中,但我们想分享一次更新,因为我们一直在为即将到来的版本的全面发布做准备。

ANGLE已经提供了对HMR的支持,但启用它需要配置和代码更改,这使得它不太适合快速包含在ANGLE项目中。在版本11中,我们更新了CLI,允许在使用ng Serve启动应用程序时启用HMR。要开始使用,请运行以下命令:

本地服务器启动最新版本后,控制台将显示一条消息,确认HMR处于活动状态:

现在,在开发过程中,组件、模板和样式的最新更改将立即更新到正在运行的应用程序中。所有这些都不需要刷新整个页面。输入到表单中的数据将被保留,并保留滚动位置,从而提高开发人员的工作效率。

通过对一些关键领域进行更新,我们将带来更快的开发和构建周期。

现在,球队可以选择加入webpack v5。目前,您可以尝试模块联合。未来,webpack v5将为:

支持是试验性的,还在开发中,所以我们不建议选择用于生产用途。

想试试webpack 5吗?要在您的项目中启用它,请将以下部分添加到您的Package.json文件中:

目前,您需要使用纱线来测试这一点,因为NPM还不支持分辨率属性。

在以前的ANGLING版本中,我们提供了一个默认的linting实现(TSLint)。现在,建议迁移到ESLint的项目创建者不推荐使用TSLint。James Henry和来自开源社区的其他人一起,通过输入-eslint、角度-eslint和tslint-to-eslint-config开发了第三方解决方案和迁移路径!我们一直在密切合作,以确保角度开发人员顺利过渡到支持的linting堆栈。

我们不建议在版本11中使用TSLint和Codelyzer。这意味着在未来的版本中,将不会提供linting角度项目的默认实现。

请转到官方项目页面,获取将角度-eslint合并到项目中并从TSLint迁移的指南。

在这次更新中,我们取消了对IE9/IE10和IE Mobile的支持。IE11是目前仍受ANGLE支持的唯一IE版本。我们还删除了不推荐使用的API,并将一些添加到不推荐使用列表中。请务必查看这一点,以确保您使用的是最新的API并遵循我们推荐的最佳实践。

我们还更新了路线图,让您随时了解我们当前的优先事项。这篇文章中的一些公告是路线图中正在进行的项目的更新。这反映了我们逐步推出更大努力的方法,并允许开发人员提供早期反馈,以便我们可以将其合并到最终版本中。

我们与角度社区的Lukas Ruebbelke合作,更新了一些项目的内容,以更好地反映它们为开发人员提供的价值。

访问update.angular.io查找详细信息和更新指导。我们始终建议您一次升级一个主要版本,以获得最佳的更新体验。

我们希望你喜欢这个功能更新,并且一定要让我们知道你在这里或推特上的想法!