2016-06-09 144 views
7

讓我們假設我有一個mainFolder和3個子文件夾(subFolderA,subfolderB,subfolderC)。如何將多個(npm)package.json文件合併爲一個Gulp?

而這些子文件夾都包含一個package.json,它具有依賴和devDependencies。 (mainFolder/subFolderA /的package.json)

我想將它們組合成在mainFolder單個的package.json(mainFolder /的package.json)

是否有一個現有的大口包(或咕嘟咕嘟以外的任何其它溶液)來合併和合並package.json依賴和devDependencies?

(假設不會有版本衝突,如果有一個解決方案也涵蓋這種情況下,那太棒了!)

您可以發佈一個例子gulpfile.js或說明等方式/工具。

謝謝

回答

3

你可以嘗試使用這個節點包合併的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)); 
1

這裏有兩種選擇:

json-merge

json-merge package.json --parse="dependencies" package2.json --parse="devDependencies"

npm-deps掃描嵌套的package.json文件的子目錄,並在輸出到標準輸出單一的package.json文件中的所有依賴關係融合在一起。

通過標準輸入傳遞的基本模板用於生成根package.json文件。這允許版本控制系統忽略package.json,這與自動生成的文件相沖突。基本包的屬性,如名稱和版本,可以存儲在一個單獨的文件中,如package-base.json,並保存在版本控制中。

$ cd my_cool_project $ npm-deps < package-base.json > package.json

相關問題