前端项目如何共享框架代码
在存储库和项目之间共享代码对我们产品的成功至关重要。
当您的团队无法共享代码时,您最终会在整个代码库中得到重复的代码-这势必会拖延交付周期并使维护成为一场噩梦,因为每次更改都需要在多个地方进行长时间的重构。 您还浪费了宝贵的时间和精力并重新发明了轮子,而不是制造新的东西。
随着您的团队和项目规模的扩大,这个问题变得更加痛苦。
Java生态系统正在努力通过Bit , Lerna等新技术来简化代码共享。
让我们快速看一下如何在多仓库和单仓库架构中以团队的方式轻松共享代码。
共享代码的开销
代码共享的主要障碍是开销。
假设我们有一个存储库,并且希望将其一部分作为一个包共享。
传统的工作流程会迫使您将现有存储库分为两个存储库,并使用其中之一来设置和发布程序包。 现在,假设您要在50个存储库中共享500个软件包。
当您需要对这些软件包进行更改时,您将不得不对500多个存储库进行更改,这些存储库很快就会变得非常混乱,很可能最终会陷入依赖地狱。
如果您选择将整个项目重组为一个巨大的monorepo,则可以使用Lerna将这些程序包保留在单个存储库中。 这可以帮助减少在多个存储库中进行更改的开销,但是仍然会迫使您在存储库中设置和维护这些程序包,手动处理它们的依赖关系树,并且每个更改仍然都必须通过原始存储库的上下文真相。
无论采用哪种体系结构,此类开销通常足以使代码共享变得非常困难。
通过让您轻松地以完全受控和可扩展的方式共享,更改和使用任何存储库或项目中的代码,Bit打破了这些开销。 让我们看看如何。
位:更快,可扩展的代码共享
Bit打破了众所周知的共享代码的开销,为每种类型的代码库体系结构提供了最终的代码共享体验。
您可以使用Bit直接从任何现有存储库(按原样)共享部分代码,然后使用npm将它们安装在其他项目中,而不必拆分代码库或强迫您进行monorepo(除非您愿意)。
您根本不需要重组项目或配置任何程序包环境。 相反,您可以简单地将Bit指向要共享的代码组件(文件集),让它为您定义它们的依赖关系树,然后将它们直接共享到称为Scope的共享位置。 您还可以添加构建测试环境,并让Bit确保您的组件已准备好部署到生产环境。
从那里,可以像其他任何软件包一样,使用npm和Yarn安装不同的代码组件。
这是一个React Scope的示例,其中包含从GitHub上的该应用程序共享的Hero组件 ,该组件完全没有更改。 我也不必将其拆分为更多的存储库。
如您所见,我的整个团队现在都可以使用该组件,以基于有用的视觉信息,测试结果,实时渲染(alpha)等进行查找和选择。
免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。
原价$ 11.95 您的完全免费
现在是真正酷的部分。
假设使用npm在另一个项目中安装了此组件之后,我想对其进行一些更改。 我要做的就是使用bit import
命令将其实际源代码带到我的任何存储库中的任何路径中,然后更改代码。 即使源于我的项目,Bit仍将继续跟踪代码,并在我的代码库中更新更改。
然后,我也可以简单地将其共享回Scope(或共享给新的Scope),甚至eject
组件eject
成为我项目的程序包依赖项。
共享代码花费了大约30秒,并且没有对我的代码库进行任何更改。 使用npm无需Bit即可轻松安装。 就我的消耗项目而言,更改它甚至更加简单。
结论
在项目之间共享代码非常重要,但也很复杂。
使用Bit ,您可以轻松共享项目的任何部分,并以任何选择的方式在其他项目中使用它。 您不必重组代码库,也不必在多个存储库或样板包中进行混乱的更改。
这是一个开源项目 ,因此可以随时开始,提出反馈并了解更多信息!
翻译自: https://www.sitepoint.com/managing-code-components-bit/
前端项目如何共享框架代码