一次开发多个npm模块的方法(具有交叉依赖性)

时间:2016-01-26 17:35:42

标签: version-control module npm dependency-management node-modules

我们的组织有3个模块用于开发,我们希望继续制作更多。

我们遇到的麻烦是找到支持这种开发环境的工具。

请考虑以下事项:

ModuleA ModuleB ModuleC

ModuleC依赖于ModuleA和ModuleB ModuleB依赖于ModuleA

当我们对ModuleB进行更改时,我们必须手动触发ModuleC对ModuleB的package.json依赖(因为它使用了npm-shrinkwrap)

当我们对ModuleA进行更改时,我们不一定必须提高ModuleB的依赖性(因为我们可以进行semver模式匹配),除非它是主要的版本更改,但是,我们这样做必须重建ModuleB并使其版本更新,因为它使用ModuleA并提供可分发的版本。然后,我们必须在ModuleC&#39的package.json中碰撞ModuleA和ModuleB的依赖关系。

这一切都令人难以置信的麻木,而且,这是一个脆弱的过程,感觉它可以自动化。

其他组织如何处理此问题?有没有办法以这种方式开发模块?

1 个答案:

答案 0 :(得分:2)

在不拔头的情况下实现这一目标的唯一方法是使用单声道回报,并使用像Lerna这样的工具。https://github.com/lerna/lerna