NPM本地软件包安装

时间:2020-07-26 13:29:28

标签: node.js npm node-modules npm-install

这可能是一个构思错误的想法,但是我在版本控制中有两个React项目,第一个,我们称它为A,包含要在B中使用的组件。B因此依赖于在B的package.json,作为文件:...项目A的路径。

问题在于,为了构建项目B,用户需要将A和B都加载到其磁盘上,然后构建A(这是汇总构建),然后再构建B。因为(我认为)B取决于带文件的A:参考,安装A时,NPM复制整个目录,包括B下A的node_modules文件夹。因此,您最终得到B/node_modules/A/node_modules

我认为问题在于,如果可以的话,我们将项目A的文件系统位置用作源代码位置和注册表位置。也许我们需要在构建项目A时将其发布到某个地方,并声明该位置为依赖项?

我希望这是有道理的。

我看着docs,如果我完全了解文件部分,似乎应该在安装时始终忽略node_modules。

1 个答案:

答案 0 :(得分:1)

在项目之间重用组件的通用模式是将组件(或任何需要重用的代码段)移到A和B之外,并创建一个包含该代码/组件的独立npm模块。

根据代码的敏感性将该模块发布到公共或私有npm存储库,并让项目A和B都安装其自己的npm模块实例。否则,从长远来看,这些相互依赖关系只会使您头疼。