【发布时间】:2019-04-03 04:31:20
【问题描述】:
简单问题:是否可以在 package.json 中引用另一个 package.json 并安装其依赖项? 谢谢。
【问题讨论】:
标签: npm package.json
简单问题:是否可以在 package.json 中引用另一个 package.json 并安装其依赖项? 谢谢。
【问题讨论】:
标签: npm package.json
是的,这是可能的,这是由npm install 自动完成的。
如果您有依赖于pkg-b 的pkg-a,在您的依赖项中包含pkg-a 将在运行npm install 时同时安装pkg-a 和pkg-b。那是因为依赖实际上是对其他包的package.json 的引用。 NPM 在运行 install 时,会为您当前项目间接需要的所有包构建一个依赖树,并将它们全部安装在 node_modules 目录中,并在 package-lock.json 中跟踪它们。
【讨论】:
"pkg-a": "file:./path/to/it" 而不是 "pkg-a": "version"。更多详情here
好问题!但这是不可能的,因为您不能在内部引用另一个 json 文档(json 只是一种文档格式,它缺乏处理逻辑、导入文件等的任何能力),npm 配置为使用单个 package.json 文件运行,因此您的最好的办法是将所有依赖项放在一个 package.json 文件中,或者将项目拆分为两个目录,其中包含两个单独的 package.json 文件、两个 npm 安装等,如果由于某种原因您需要将依赖项分开的话。然后,您可以分别运行您的两个节点项目,并根据需要通过 http 连接。
您可以接近执行此操作的唯一方法是在 package.json 中编写一个 npm 启动脚本,该脚本 cds 到带有 package.json 的另一个目录并运行 npm install,但这只会将依赖项安装在第二个目录 node-modules/ 文件夹
【讨论】: