如何pipe理多个节点项目?

我们正在使用3个不同的节点项目: 项目1项目2项目3使用reactwebpack 。 所有3个项目都在3个不同的仓库中。

项目1项目2是独立的,但项目3需要项目1项目2的压缩文件,并作为devDependencies(node_modules)放在项目3中。

现在,我们需要在Project 1Project 2中进行更改,以便在Project 3中使用新的zip文件。

为了debugging,我们需要更改Project 1Project 2中的代码,然后使用npm pack一个压缩文件,然后在Project 3中更新该压缩文件并停止Project 3的生成 ,然后再次卸载并安装该压缩文件,然后运行项目3再次。

另一个更快一点,一个解决scheme是使用npm包构build项目1项目2 ,然后复制生成的lib文件,然后将其复制到项目3运行实例中的/node_modules/Project 1(or2)/lib文件夹中。

有没有更好或更快或更方便的方法来pipe理所有这些项目?

请不要build议lerna 。 莱纳是一个伟大的工具,但它需要改变的架构是不可行的。

我会把他们全部在一个回购。 然后你保证知道所有的项目是相对于彼此的。 每个项目只是一个子文件夹,并有它自己的package.json就像它现在一样。

你只需要一些脚本,将压缩和复制到每个项目的正确位置。

我将使这些脚本从项目的顶层运行(它有自己的package.json ,在脚本文件夹中)。一些调整.gitignore来阻止zip文件被检入,你应该是好的。

你不能把project1和project2发布到npm吗?

 npm publish project1 npm publish project2 

在project3中使这些项目成为devDependencies。

然后在project3中npm install一个npm install就会得到最新的project1和project2。

如果隐私是一个问题,你不能得到一个私人npm回购? 是的,它的成本。

或者,您可以在自己的服务器上托pipe自己的npm回购?