NPM 本地包安装

NPM local package install

这可能是一个构思不周的想法,但我在版本控制中有两个 React 项目,第一个,我们称之为 A,包含一个我想在 B 中使用的组件。因此 B 依赖于声明的 A在 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 在安装时应该始终被忽略。

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

根据代码的敏感性将该模块发布到 public 或私有 npm 存储库,并让项目 A 和 B 安装其自己的 npm 模块实例。否则这些相互依赖只会让你在很长一段时间内头疼 运行.