node 压缩文件夹
时间: 2023-07-29 14:12:07 浏览: 118
Node.js中可以使用`zlib`模块来压缩文件夹。以下是一个简单的例子,可以将`input`文件夹压缩成`output.zip`文件:
```javascript
const fs = require('fs');
const zlib = require('zlib');
const archive = require('archiver');
const inputFolder = './input';
const outputFile = './output.zip';
const output = fs.createWriteStream(outputFile);
const archiveInstance = archive('zip', {
zlib: { level: zlib.constants.Z_BEST_COMPRESSION }
});
archiveInstance.pipe(output);
archiveInstance.directory(inputFolder, false);
archiveInstance.finalize();
```
首先,我们需要引入`fs`、`zlib`和`archive`模块。
然后,我们指定要压缩的输入文件夹路径和输出文件路径。
接着,我们使用`fs.createWriteStream`创建一个写入流,将压缩后的数据写入到输出文件中。
然后,我们使用`archive`模块创建一个新的压缩实例,并将其管道连接到输出流。
接下来,我们使用`archive.directory`方法将输入文件夹添加到压缩包中。
最后,我们调用`archive.finalize`方法来完成压缩操作。
注意:在上述代码中,我们使用了`zlib.constants.Z_BEST_COMPRESSION`来指定压缩级别。你可以根据自己的需要选择其他压缩级别。
另外,如果你需要压缩成其他格式的文件,比如`.tar`、`.gz`等,也可以在`archive`方法中指定相应的压缩格式。
阅读全文