到ZIP整個目錄,我需要使用壓縮的Node.js的整個目錄我目前使用node-zip,並且每次進程運行時都會生成一個無效的ZIP文件(如您在this Github issue中看到的那樣)。需要了解如何使用Node.js
是否有其他更好的,Node.js的選項,讓我拉上了一個目錄?
編輯:我結束了使用的參數archiver
writeZip = function(dir,name) {
var zip = new JSZip(),
code = zip.folder(dir),
output = zip.generate(),
filename = ['jsd-',name,'.zip'].join('');
fs.writeFileSync(baseDir + filename, output);
console.log('creating ' + filename);
};
樣本值:
dir = /tmp/jsd-<randomstring>/
name = <randomstring>
UPDATE:對於那些詢問我用的實現,here's a link to my downloader:
良好的通話@booyaa。謝謝。 – commadelimited 2013-03-26 16:09:54
有人在Twitter上建議child_process API,並簡單地調用系統ZIP:http://nodejs.org/api/child_process.html – commadelimited 2013-03-26 16:12:01
我已經試過child_process方法。它有兩個警告。 ** 1)** UNIX'zip'命令包括在壓縮文件的當前工作目錄的所有父文件夾的層次結構。這對你可能沒問題,這不適合我。以某種方式改變child_process中的當前工作目錄不會影響結果。 ** 2)**爲了克服這個問題,你必須使用'pushd'跳進你將壓縮的文件夾和'拉鍊-r',但因爲'pushd'內置的bash,而不是/ bin/sh的你還需要使用/ bin/bash。在我的具體情況下,這是不可能的。只是一個頭。 – johnozbay 2016-12-07 19:15:35