在NodeJS中使用Zlib压缩文件

3

我正在尝试编写一个简单的Cakefile构建脚本,针对一个小型JavaScript库。我想对源字符串进行gzip压缩,并将结果写入文件。这是目前我的代码:

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

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

6
您想使用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

纯属好奇,deflate 是用来干嘛的? - LandonSchropp
1
我不确定,但Deflate看起来像另一种压缩算法。 - alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接