首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gatsbyjs的发布策略是什么?

gatsbyjs的发布策略是什么?
EN

Stack Overflow用户
提问于 2020-04-29 23:27:44
回答 1查看 105关注 0票数 3

有没有人可以跟我谈谈包发布策略背后的理由?我想知道为什么会有这么多“仅限版本”的版本,这使得changelogs过于冗长,=>很难及时升级包。这也使得版本差异化变得更加困难。

例如https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/CHANGELOG.md

EN

回答 1

Stack Overflow用户

发布于 2020-04-30 07:47:38

The justification behind the package publishing strategy

Gatsby使用lerna作为monorepo分发。其他几个大型开源项目也是以这种方式发布的,包括babel、react等。

这意味着我们的CHANGELOG.md文件与包本身一起分布在包目录中。

Lerna有助于“将大型代码库拆分成独立的版本控制包”。由于Gatsby是一个开源项目,有许多不同的插件、主题、核心等,这种哲学导致了许多包的增量更新。因此,与开源社区的快速迭代是可能的:

将大型代码库拆分成独立的版本控制包,这对于代码共享非常有用。然而,跨多个存储库进行更改是杂乱无章且难以跟踪的,并且跨存储库的测试变得非常复杂。

为了解决这些(和许多其他)问题,一些项目会将它们的代码库组织成多包存储库(有时称为monorepos)。像Babel、React、Angular、Ember、Meteor、Jest和许多其他项目都在一个存储库中开发它们的所有包。

Lerna是一个使用git和npm优化管理多包存储库的工作流程的工具。

Lerna还可以减少开发和构建环境中大量包副本的时间和空间需求-通常这是将项目划分为许多单独的NPM包的缺点。有关详细信息,请参阅提升文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61505505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档