如何使用位轻松在项目之间共享代码

您的存储库和项目之间共享代码是至关重要的您对我们产品的成功。

当你的球队没有共享代码,你最终整个代码库重复的代码 - 这势必会减慢交货周期,使维护的噩梦,因为每个改变都需要在多个地方长的重构。 你也浪费,而不是建立新的东西了宝贵的时间和精力,重新发明轮子。

有位项目之间共享代码

当你的团队和项目开始规模化,这个问题就变得更痛苦。

JavaScript的生态系统正在努力使代码共享更为简单,具有新技术,如勒拿湖等等。

让我们快速浏览一下如何可以轻松地共享代码,在两个multirepo和monorepo架构团队。

共享代码的开销

的主要障碍代码共享是开销。

比方说,我们有一个仓库,我们希望分享它的一部分作为一个包。
传统的工作流程,迫使你现有的存储库分成两个回购协议,并使用其中一个设置和发布该数据包。 现在想象一下,你有你想要分享的50个仓库出500包。

当您需要更改这些包,你将不得不作出改变这势必会很快得到非常杂乱超过500个仓库,很可能只是在依赖地狱告终。

您可以使用勒拿湖保持这些包在单个存储库中,如果您选择重组整个项目成为一个巨大的monorepo。 这可以帮助减少使得在多个回购变化的开销,但仍然会强迫你建立和维护这些包回购内部,手动处理的依赖树木和静止的每一个变化必须通过原回购的上下文去作为源的真理。

无论架构,这种类型的开销往往是足以让代码共享所有太难了。

有点让你轻松共享,改变和使用代码在一个完全可控和可扩展的方式回购任何或项目打破了这种开销。 让我们看看如何。

位:更快,可扩展的代码共享

位 - 共享代码的最快方法

休息的共享代码,因为我们知道,许诺每一种类型的代码库架构的最终代码共享经验的开销。

而不是分裂你的代码或迫使你去monorepo(除非你想),你可以使用位到您的代码直接从任何现有的存储库中的份额部分(因为它),并与故宫等工程安装。

你不必重组项目的全部或配置任何包装的环境。 相反,你可以简单点位到要共享的代码(文件集)的组件,让它定义他们的依赖关系树你,然后分享他们的权利到共享位置称为范围。 您还可以添加构建一个测试envrionemnts并让位确保您的组件已经准备好部署到生产环境。

从那里,你的不同代码组件可以使用NPM和纱,就像任何其他包进行安装。
这里的一个例子进行反应范围含有这种英雄组分从该共享应用在GitHub -这完全没有改变。 我也没有把它分割成更回购。

位 - 共享代码的最快方法

正如你所看到的,组件现在可以到我的整个团队查找并选择基于有用的视觉信息,测试结果,实时渲染(阿尔法)等等。

现在到了非常酷的一部分。

比方说,使用NPM在另一个项目中安装此组件后,我想改变它一点点。 所有我需要做的就是使用bit import命令将其实际的源代码到我的任何回购协议的任何路径,并更改密码。 位将继续在我的项目,并在我的代码库更新的变化来源时,甚至跟踪代码。

然后我也可以简单地分享它回到范围(或到一个新的),甚至eject组件重新成为我的项目一个包的依赖。

共享代码花费了大约30秒,没有强迫我的代码库进行任何更改。 它安装使用NPM很简单,无需位。 改变是更简单,直接从我的消费项目的上下文。

结论

项目之间共享代码是非常重要的,也是复杂的。
有了 ,可以轻松地共享项目的任何部分,并在其他项目中,你选择的任何方式来使用它。 你不必给你代码库重组,要在多个回购或样板包凌乱的变化。

这是一个开源项目 ,可以随意上手,建议反馈,并了解更多!

width="560" height="315" src="https://www.youtube.com/embed/vm_oOghNEYs" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen=""/>

From: https://www.sitepoint.com//managing-code-components-bit/