archiver是一個在nodejs中能跨平臺實現(xiàn)打包功能的模塊,可以打zip和tar包,是一個比較好用的三方模塊。
安裝方法
npm install --save archive
代碼
var archiveFileName = localPath+'export/'+file_name+'.zip';
var output = fs.createWriteStream(archiveFileName);
var archive = archiver('zip', {
store: false // Sets the compression method to STORE.
});
// listen for all archive data to be written
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
// good practice to catch this error explicitly
archive.on('error', function(err) {
throw err;
});
// pipe archive data to the file
archive.pipe(output);
// append files from a directory
archive.directory(path,dest_path);
// finalize the archive (ie we are done appending files but streams have to finish yet)
archive.finalize();
如果不設置dest_path的話,zip包內的目錄會跟文件夾的path一致