压缩或解压缩一个文件可以通过导流一个 fs.ReadStream 到一个 zlib 流,然后到一个 fs.WriteStream 来完成。
inp.pipe(gzip).pipe(out)一步压缩或解压缩数据可以通过快捷方法来完成。
var buffer = new Buffer('eJzT0yMAAGTvBe8=', 'base64')zlib.unzip(buffer, function(err, buffer) {
if (!err) {
console.log(buffer.toString())
}
})
要在 HTTP 客户端或服务器中使用此模块,请在请求和响应中使用 accept-encoding 和 content-encoding 头。
JSZip 是一个用于创建、读取和编辑.zip文件的JavaScript库,且API的使用也很简单。如下是使用 JSZip 压缩一个文件夹到指定目录的例子。
zip.js 文件中内容如下:
命令:
你好,
我不知道如何直接使用Node.js代码逻辑生成tar包,但我可以给你提供一个使用Node.js调用Linux命令生成tar包的方法。
首先,在npm中有一个叫做shelljs的包,在项目中安装它:
npm i --save shelljs然后,在执行打包任务的js文件中使用它:
var shell = require('shelljs')if (shell.exec('tar -zvcf 文件名.tar.gz 被打包的文件(夹)').code !== 0) {
shell.echo('Error: ...')
shell.exit(1)
}
这样就可以在当前目录生成一个“文件名.tar.gz”的压缩包了,而“文件名”和“被打包的文件(夹)”都可以通过参数的形式进行传递。
好了,更多信息可以github上搜索shelljs,希望能解决你的问题。