在NodeJS中使用Zlib压缩文件

时间:2012-05-10 09:43:10

标签: node.js coffeescript zlib cakefile

我正在尝试为一个小的JavaScript库编写一个简单的Cakefile构建脚本。我想gzip源字符串并将结果写入文件。这是我到目前为止所做的:

zlib.deflate minifiedjavaScriptSource, (error, buffer) ->
    fs.writeFileSync(javascript_destination_gzipped_minified_path, buffer)

当我运行脚本时,它按预期生成了.gz文件。但是,当我解压缩此文件时,我得到一个.cpgz文件。如果我尝试解压缩它,它只会再次生成原始文件。我做错了什么?

1 个答案:

答案 0 :(得分:4)

您想gzip,但正在使用deflate。 :)

尝试zlib.gzip ...,效果很好:

% coffee
coffee> zlib = require('zlib'); 'ok'
'ok'
coffee> fs = require('fs'); 'ok'
'ok'
coffee> zlib.gzip('qweqweqweqwe', (_, buf) -> fs.writeFile('/tmp/test.gz', buf))
undefined

% zcat /tmp/test.gz
qweqweqweqwe