Node.js中如何创建和提取zip文件?方法介绍


本文摘自PHP中文网,作者青灯夜游,侵删。

相关推荐:《nodejs 教程》

Zip文件是常用的压缩文件格式。大多数开发人员最终使用tarball而不是zip文件。但在某些情况下,您需要使用zip文件,例如将函数上载到AWS Lambda。在本文中,我将演示如何用 adm-zip npm模块创建和提取zip文件。

创建一个Zip文件

从 adm-zip 的 npm 模块中导出一个 AdmZip 类。 AdmZip的实例对应于一个zip文件。如果想要创建一个新的 zip 文件,在调用 new AdmZip() 时不应带任何参数:

1

2

3

const AdmZip = require('adm-zip');

 

const file = new AdmZip();

可以通过多种方式将文件和目录添加到 file。可以用 file.addLocalFile()file.addLocalFolder() 通过文件名从文件系统添加文件和目录。例如下面的代码演示了怎样把 package.json 文件和 node_modules 目录添加到 zip 文件中:

1

2

3

4

5

6

7

8

const AdmZip = require('adm-zip');

 

const file = new AdmZip();

 

file.addLocalFile('./package.json');

//第二个node_modules 参数是 zip 中目录的路径。

//如果没有第二个参数,则`./node_modules`中的每个目录都将是压缩文件中的顶级目录

file.addLocalFolder('./node_modules', 'node_modules');

然后,你可以使用下面两种方法中的一个写入文件:

1

2

3

4

5

6

7

//写入zip文件的第一种方法:将其转换为缓冲区并使用`fs`

const fs = require('fs');

 

fs.writeFileSync('output.zip', file.toBuffer());

 

// 另一种写入 zip 文件的方法:writeZip()

file.writeZip('output.zip');

写入output.zip 文件后,你应该能够在制定的 zip 解压缩程序中打开它。下面是在 Xubuntu 的默认存档管理器 engrampa 中打开的文件。

1.png

addLocalFile()addLocalFolder() 的第二个参数是将文件或目录内容放入zip的路径。例如,如果要将 package.jsonnode_modules 都放在 project 目录下,则可以运行以下脚本:

阅读剩余部分

相关阅读 >>

linux服务器搭建node.js环境的步骤介绍

node.js中怎么进行调试?

node.js中如何创建和提取zip文件?方法介绍

谈谈node.js热更新的配置和vscode断点调试

node.js 安装配置

详解node.js buffer的使用

深入研究node.js中的日志信息

node.js学习之静态资源服务器

nodejs http请求相关的总结介绍

javascript在nodejs环境下执行机制和事件循环

更多相关阅读请进入《node.js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...