10月28, 2020

我是如何为 Angular Components 做出贡献的

本文最初发布于Medium网站,经原作者授权由InfoQ中文站翻译并分享。

在这篇文章中,我想分享我对@angular/components的贡献,以及与谷歌团队合作维护它的经验教训。作为Infragistics的工程师,我手头的一项工作是IgniteUI for Angular组件库,负责开发和维护IgxOverlayService。它允许在应用中的内容上层渲染一个Angular组件或一个ElementRef,比如说对话框、下拉菜单、工具提示等。

几个月前,我研究了Angular Components CDK(组件开发工具包),这组工具在实现通用交互模式的同时对其表示也不是opinionated的。它代表了在Angular Material库中核心功能的一个抽象,而没有任何专属Material Design的样式。可以把CDK视为经过良好测试的功能的一个空白状态,在此状态下你可以开发自己的定制组件。它提供的抽象之一是overlay(叠加)服务。这项服务的功能与我在产品中负责的功能非常相似。Angular Components Overlay服务还允许渲染Angular组件或模板以覆盖应用中的其他内容。这项服务看起来很合适。我决定不使用自己的服务,而使用CDK提供的这些服务。我开始调查CDK overlay是否符合我们的要求。

前期工作

我与Infragistics的管理层开了一个会,讨论了从IgxOverlayService切换到Angular Components SDK Overlay的可能性。我们的共识是,如果切换到Angular叠加服务,我们需要维护的代码会更少,并且我们将能为Angular Components开源项目做出贡献。最后,我们决定尝试切换到SDK Overlay。为了实现这一转换,Infragistics的开发人员得到许可,可以每天花几个小时为Angular Components做出贡献。

第一步,我分叉了存储库,构建了程序包,运行了dev-app,并开始研究贡献流程和Angular Components团队遵循的标准。当我熟悉了代码后,便开始查看GitHub上的Material Components公共存储库中的问题。如果你想做出贡献,那么从文档入手是很好的选项。下面是你可行的一种入门策略:

点击查看原文>

本文链接:https://blog.jnliok.com/post/PRteQ5rHQC2lEc7VAStb.html

-- EOF --

Comments