如何将多个(npm)package.json文件合并为一个Gulp文件?
让我们假设我有一个mainFolder和3个子文件夹(subFolderA,subfolderB,subfolderC)。
这些子文件夹都包含一个具有依赖关系和devDependencies的package.json。 (mainFolder / subFolderA /的package.json)
我想在mainFolder(mainFolder / package.json)中将它们合并为一个package.json
是否有现成的gulp包(或Gulp之外的任何其他解决方案)来合并和合并package.json依赖和devDependencies?
(让我们假设不存在版本冲突,如果解决方案也包含这种情况,那太棒了!)
你可以发布一个例子gulpfile.js或解释其他方式/工具。
谢谢
你可以尝试使用这个节点包来合并package.json文件:https://www.npmjs.com/package/package-merge
通过@dur编辑以下评论
例:
var merge = require('package-merge')
var fs = require('fs');
var dst = fs.readFileSync('package.a.json');
var src = fs.readFileSync('package.b.json');
fs.writeFile("/tmp/package.merged.json", merge(dst,src));
这里有两个选项:
JSON合并
json-merge package.json --parse="dependencies" package2.json --parse="devDependencies"
npm-deps扫描嵌套的package.json文件的子目录,并将所有依赖关系合并到一个输出到stdout的package.json文件中。
通过标准输入传递的基本模板用于生成根package.json文件。 这允许版本控制系统忽略package.json,这与自动生成的文件相冲突。 基本包的属性,如名称和版本,可以存储在一个单独的文件中,如package-base.json,并保存在版本控制中。
$ cd my_cool_project $ npm-deps < package-base.json > package.json
上一篇: How to merge multiple (npm) package.json files into one with Gulp?