如何有效地大规模应用 React 组件的版本控制?

How to effectively apply version control for React components at scale?

这个问题是关于将版本控制应用于 React 组件时可能采用的更高级别的方法。具体来说,这些组件应该更多地处于频谱的 "atomic" 端,即在各种环境中有效地做一件事。

具体来说,我想了解您对大规模对此类组件进行版本控制的想法,同时解决以下问题:

我一直在研究 Bitsrc.io 作为帮助我管理此问题的可能工具。我一直在通过拥有相当多的 (~10) Git 个存储库来解决这些问题,每个存储库管理一组松散耦合的组件,例如text-componentslayout-componentstable-components,但我觉得我正处在这样一个时刻,随着组件的数量和它们所具有的依赖性,如果我使错误的决定。

我使用 lerna 取得了一些成功;我认为它可能非常适合您的需求。您基本上会将所有 10 个存储库合并到一个存储库中,现在每个存储库都是存储库中的一个包。

这种方法有很多优点。主要是,它允许您仍然拥有单独的已发布包,从而使消费应用程序可以灵活地处理他们 want/don 不想引入的内容,但它消除了拥有大量包的大量开销。进行全面更改变得更加容易,并且您的包不可能不同步,因为它们总是一起更新。如果您对另一个包所依赖的一个包进行重大更改,您将在与重大更改相同的 PR 中修复该包。