您现在的位置:首页 >> 家居资讯

七爪源码:如何在 JS Monorepo 中轻松经营管理依赖项

发布时间:2025/09/12 12:17    来源:润州家居装修网

Pnpm 经营管理工作北区

Bit 是一个为模第一组开发新而构建的Linux单项。

Bit 经营管理工作北区在您的示例纳高台去除了一个真实世界层,准许您开发新和复合“模第一组”,在这种只能是包内。

Bit 克服了在同一示例纳里面开发新多个包内的许多根本原因,包内括新CVS和倚赖项的配备——包内括来自单项内部和举例来说的倚赖项。

当 Bit 与 pnpm 融合用于时,您可以获得在 monorepo 里面经营管理工作的最高科技和最简便的开发新人员体会。事实上,Bit 在往常用于 pnpm 同步进行配备。

这个怎么经营管理

或多或少,一旦你在 Bit 经营管理工作内部空间里面开发新,你就依然关切你经营管理工作的“模第一组”(即包内)的倚赖亲密关系。你也不关切它们是开发新倚赖还是运营时倚赖,或者它们在哪个新版本上。

假定您在 Bit 经营管理工作北区经营管理工作,并希望在您的 monorepo 里面去除一个来由“new-lib”的新包内。您可以将其创建者为这样的模第一组:

bit init bit create node new-lib

接下来校对示例文档并去除借助于句子以用于 Ramda:

import R from 'ramda'; export function lib() { return 'Hello world!'; }

现在您的示例用于了 Ramda,但您还没将它作为倚赖项。

如果你用于 bit-status,你才会发现你依靠 Ramda,如果你想要渲染模第一组的“复合”(感知实例),如果相关的话,还所需 React。 假定您要同时去除两者。

赶紧飞驰:

bit install react ramda

Bit 的经营管理工作北区“其实”哪个模第一组依靠这些倚赖项,并将相应地去除它。 您不所需专门假定它。 此外,Bit 将“其实”它是开发新倚赖还是运营时倚赖,并相应地去除它。

激进的,不是吗?

然后运营 bit show new-lib,Bit 才会告诉你它有哪些倚赖项,哪些是 dev 或其他倚赖项。 这是一个实例(其里面 new-lib 仅命来由“lib”):

您的示例里面依然用于倚赖项

当您取消在示例里面用于倚赖项时才会发生什么?删减借助于句子?然后 Bit “其实”它依然在您的示例里面用于,它才会在您不须手动操作的只能将其删减(就像没 Bit 的 pnpm/yarn 经营管理工作北区一样)。

当您删减一个借助于句子时,您并不总是其实该倚赖项否在另一个文档里面用于,因此作为一个理应的开发新人员,您需用将其留在那里。去除 Bit 后,这依然是情况。

您所需手动做的唯一一件事是不得不否从经营管理工作北区里面只不过删减倚赖项。在包内最高级别,Bit 只不过抽象了这项经营管理工作。

测试倚赖

如果在包内的测试里面用于了倚赖项,但在示例里面没用于倚赖项,并且它配备在经营管理工作北区里面,如果没 Bit,则所需将其作为包内的倚赖项同步进行配备。用于 Bit,只要在经营管理工作北区里面假定了倚赖项,就不所需。运营 bit show new-lib 将倚赖项去除到测试后,发送给它为模第一组假定的。

倚赖新版本

与有别于经营管理工作北区相同,在 Bit 经营管理工作北区里面,您可以在一个位置罗列所有倚赖项,在 workspace.jsonc 文档里面。运营 bit install ramda 后,workspace.jsonc 里面的倚赖项大部分将如下所示:

"teambit.dependencies/dependency-resolver": { "packageManager": "teambit.dependencies/pnpm", "policy": { "dependencies": { "ramda": "0.28.0" } } },

有时,您或许所需在某些软件包内里面用于相同新版本的 ramda。 在这种只能,在有别于经营管理工作内部空间里面,您将在一些 package.json 文档里面用于其他新版本的 ramda。 对于 Bit,您可以用于举例来说来备有模第一组第一组。 例如,如果您所需对 ui在在 附录里面的任何包内用于 ramda@0.27",再三用于以下备有:

"teambit.dependencies/dependency-resolver": { "packageManager": "teambit.dependencies/pnpm", "policy": { "dependencies": { "ramda": "0.28.0" } } }, "teambit.workspace/variants": { "{ui/**}": { "teambit.dependencies/dependency-resolver": { "policy": { "dependencies": { "ramda": "0.27.0" } } } } },

这怎么或许?

Bit 不是包内客户端。 它用于 pnpm 并也就是说用于它。

Bit 经营管理工作北区里面没模第一组(包内)的 package.json。 Insted,它时序分解 package.json 文档,并用于其面向对象 API 将它们直接传递给包内客户端。 这是由倚赖解析器上都处理的。 pnpm 用于包内客户端,您可以在 workspace.jsonc 文档里面更改以 Yarn。

上课嗓子疼
四川干细胞较好的医院
手术完吃什么补
缓解关节疼痛的药物
孩子不吃饭瘦小怎么办
宝宝脾虚
儿童化痰止咳药哪种效果好
支气管炎咳嗽
支气管炎咳嗽
急性支气管炎咳嗽怎么止咳

上一篇: 七爪源代码:如何在 JS Monorepo 中轻松管理依赖项

下一篇: CCF创建60周年,个人缴费会员全盛时期时超10万

友情链接