我正在尝试使用Adm-Zip将文件打包为zip文件
var AdmZip = require('adm-zip');
var pathToZip = 'build/release/Ext.zip';
var zip = new AdmZip();
zip.addLocalFile('background.js');
zip.addLocalFile('chrome_ex_oauth.html');
zip.addLocalFolder('images');
zip.writeZip(pathToZip);但是,所有文件都是作为文件夹添加到zip中的,而实际内容并没有压缩。

入门参考在下面,这似乎是一个非常简单的例子,它并不像预期的那样工作。我做错了什么?https://github.com/cthackers/adm-zip/wiki/ADM-ZIP-Introduction
发布于 2016-03-14 22:24:07
所以我做了一些调查:https://github.com/cthackers/adm-zip/blob/master/adm-zip.js#L275
addFile最终由addLocalFile调用,这似乎是错误发生的地方,特别是在line 281上,它检查ZipEntry是否是一个目录。应用了错误的标志。
为了解决这个问题,我最终手动调用了addFile,并自己指定了属性,这样它就不会依赖于自动检测和错误地将文件标记为目录。
addFile(filePathInArchive, fileBuffer, '', 0644 << 16);要自己获取fileBuffer,可以使用fs.readFile或fs.readFileSync
发布于 2015-12-16 23:29:25
从adm-zip的wiki:
空addLocalFile(String localPath,String zipPath)
将磁盘中的文件添加到存档中。
空addLocalFolder(String localPath,String zipPath)
将本地目录及其所有嵌套文件和目录添加到归档中
看起来您遗漏了第二个参数,即zipPath。
发布于 2018-01-18 17:00:33
var zip = new admZip();
var fs=require('fs-extra');
zip.addFile('NGINX/app.js',fs.readFileSync('./app.js'),'',0644);
zip.writeZip("./files.zip");https://stackoverflow.com/questions/33296396
复制相似问题