本文介绍两个nodejs的文件压缩和解压工具
1. node-zip
可在npm上找到此插件https://npmjs.org/package/node-zip
var zip = new require('node-zip')(); fs = require("fs"); //读取本地目录中文件再压缩 fs.readFile("a.txt","utf-8", function (err, data) { if (err) throw err; zip.file("a.txt", data); var bufferData = zip.generate({base64:false,compression:'DEFLATE'}); fs.writeFileSync("result.zip", bufferData, 'binary'); }); //带有文件夹的压缩 zip.file("aa/test.js", "test文件内容"); var bufferData = zip.generate({base64:false,compression:'DEFLATE'}); fs.writeFileSync("result.zip", bufferData, 'binary'); zip.file("/ea/test.js", "consolo.log('hello world!')"); var bufferData = zip.generate({base64:false,compression:'DEFLATE'}); fs.writeFileSync("result.zip", bufferData, 'binary');
node-zip也可解压zip文件,但好像不能找个文件夹做解压
2. unzip
nodejs的zip文件的解压工作,可在git上找到,https://github.com/nearinfinity/node-unzip,npm上也有。
npm install unzip后便可应用,使用很简单
var fs = require("fs");
unzip = require("unzip");
fs.createReadStream('testj.zip').pipe(unzip.Extract({ path: 'jquery_module' }));