使用archiver在nodejs下打包

archiver是一个在nodejs中能跨平台实现打包功能的模块,可以打zip和tar包,是一个比较好用的三方模块。

使用前先安装archiver模块。

npm install archiver

建立一段代码

var archiver = require('archiver');
var fs = require('fs');

//被打包文件
var files = [
  'files/001.png',
  'files/002.png'
  ];

var zipPath = 'test.zip';
//创建一最终打包文件的输出流
var output = fs.createWriteStream(zipPath);
//生成archiver对象,打包类型为zip
var zipArchiver = archiver('zip');
//将打包对象与输出流关联
zipArchiver.pipe(output);
for(var i=0; i < files.length; i++) {
  console.log(files[i]);
  //将被打包文件的流添加进archiver对象中
  zipArchiver.append(fs.createReadStream(files[i]), {'name': files[i]});
}
//打包
zipArchiver.finalize();

非常简单的完成打包功能。

官方地址