Node.js 压缩工具:快速创建压缩文件的利器
const fs = require('fs');
const archiver = require('archiver');
// 创建文件输出流
const output = fs.createWriteStream('./example.zip');
// 创建archiver实例
const archive = archiver('zip', {
zlib: { level: 9 } // 压缩级别
});
// 监听输出流关闭事件
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('压缩完成,文件大小:' + archive.pointer() + ' bytes');
});
// 监听压缩过程中的警告
archive.on('warning', function(err) {
if (err.code === 'ENOENT') {
// log warning
} else {
// 抛出错误
throw err;
}
});
// 监听压缩过程中的错误
archive.on('error', function(err) {
throw err;
});
// 将输出流与存档关联起来
archive.pipe(output);
// 添加文件到压缩包
archive.file('./example.txt', { name: 'example.txt' });
// 添加文件夹到压缩包
archive.directory('./images/', false);
// 完成压缩
archive.finalize();
这段代码使用了Node.js的archiver
模块来创建一个ZIP压缩文件,包含了添加单个文件和整个文件夹的功能。它展示了如何使用archiver
创建压缩文件的基本过程,并处理了可能出现的错误和警告。
评论已关闭