简介
Taru 是一个用于压缩和解压缩 tar 包的 Node.js 模块。Taru 支持 tar,tar.gz,tar.bz2 和 tar.xz 格式的压缩包,在使用过程中可以灵活地配置选项,并提供了丰富的事件处理函数。
安装
在使用 taru 之前需要先安装 Node.js 和 npm 包管理工具。在终端执行以下命令即可安装 taru:
npm install taru
使用方法
Taru 的 API 是简单易用的,支持链式调用和异步操作。它提供了以下四个方法:
createWriteStream
:创建文件写入流。createReadStream
:创建文件读取流。pack
:压缩文件或目录。extract
:解压文件或目录。
压缩文件或目录
使用 pack
方法可以将文件或目录打包成 tar 包,示例如下:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---- - ---------------- ----------- ---- -------------------- ------- ----- -------------------- ------- --------------- -- ------------ ----- -- ------------------- ---------- -- -- ----------------- --------------
上述代码将 src
目录下的所有文件打包成 archive.tar
文件,并保存到 dist
目录下。在打包过程中,on()
方法可以监听压缩过程中的事件,例如 error
和 end
事件。
解压 tar 包
使用 extract
方法可以解压 tar 包,示例如下:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---- - ---------------- -------------- ---- -------------------- ------- --------------- ----- -------------------- ------- ------------- -- ------------ ----- -- ------------------- ------------ ------- -- ---------------------- ----------------- ---------- -- -- -------------------- --------------
上述代码将 dist
目录下的 archive.tar
文件解压到 dist/extracted
目录下。在解压过程中,on()
方法可以监听解压过程中的事件,例如 error
,entry
和 end
事件。
选项配置
在打包或解压 tar 包时,还可以通过指定选项来灵活地配置。可用的选项包括以下:
cwd
:基础目录,用于解决相对路径。gzip
:是否启用 gzip 压缩。bzip2
:是否启用 bzip2 压缩。xz
:是否启用 xz 压缩。followSymlinks
:是否跟随符号链接。strip
:从文件名中删除前 n 个路径组件。filter
:用于筛选要打包的文件。
例如,以下代码片段启用 bzip2 压缩和符号链接,将前两个路径组件从文件名中删除:
taru.pack({ src: path.join(__dirname, 'src'), dest: path.join(__dirname, 'dist', 'archive.tar.bz2'), bzip2: true, followSymlinks: true, strip: 2, })
总结
本文介绍了 taru 模块的用法,包括压缩和解压 tar 包、事件处理和选项配置等。使用 taru 可以方便地处理 tar 包,为 Node.js 开发人员提供了强大的工具支持。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600574a181e8991b448ea1c8