7z-wasm

中文文档
1.2.0发布于 2025/06/23SEE LICENSE IN License.txtTypeScriptESM + CJS近 30 天下载 22.5万

用于 JavaScript 环境的 7- Zip, 编译为 WASM

中文使用文档
文档目录5 节
  1. 使用量
  2. 命令行
  3. 作为模块
  4. 使用真实文件系统工作( 仅节点JS)
  5. 大楼

7 - 齐普 - 瓦斯姆

7-Zip编译为WASM并有标注. 基于7-Zip 24.09 (2024-11-29).

  • 在任何支持WASM(浏览器或节点JS)的JavaScript环境中运行
  • 支持全部文件格式 7zz CLI支持.
  • 默认情况下只包括标注NODEFS和WorkerFS适配器.

灵感来自 https://github.com/soconcial truth/7zip.js (中文(简体) )

使用量

命令行

npx 7z-wasm --help

或者说

npm i -g 7z-wasm
7z-wasm --help

作为模块

import SevenZip from "7z-wasm";

const sevenZip = await SevenZip();

const archiveData = new Uint8Array(100);
const archiveName = "archive.7z";

const stream = sevenZip.FS.open(archiveName, "w+");
sevenZip.FS.write(stream, archiveData, 0, archiveData.length);
sevenZip.FS.close(stream);

const filesToExtract = ["some-file.txt"];
sevenZip.callMain(["x", archiveName, ...filesToExtract]);
console.log(sevenZip.FS.readFile(filesToExtract[0]));

使用真实文件系统工作( 仅节点JS)

import SevenZip from "7z-wasm";

const mountRoot = "/nodefs";
sevenZip.FS.mkdir(mountRoot);
sevenZip.FS.mount(sevenZip.NODEFS, { root: "/real/root/folder" }, mountRoot);
sevenZip.FS.chdir(mountRoot + "/subfolder");

sevenZip.callMain(["x", "archive.7z", "some-file.txt"]);

大楼

由于GitHub上没有7-Zip源,构建过程依赖于下载来自GitHub的源 7-Zip网站并补齐它们,所以它们用emcc编译.

  • 安装嵌入器
  • 执行 ./build (或 .\build分别在Windows CMD上发布)

您可以通过自定义选项通过 env 文件( 例如见) 建设- umd.env(中文(简体) )

版本与发布记录

7z-wasm 共发布 11 个版本,首次发布于 2021/08/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.0latest2025/06/231.4 年前
1.1.02023/10/163 年前
1.0.22023/03/223 年前
1.0.12022/08/314 年前
1.0.02022/08/314 年前
1.0.0-beta.52021/09/125 年前

关于 7z-wasm 的常见问题

7z-wasm 是什么?

用于 JavaScript 环境的 7- Zip, 编译为 WASM

如何安装 7z-wasm?

在项目目录运行 npm install 7z-wasm,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 7z-wasm,可以用 npx 7z-wasm 直接运行。

7z-wasm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

7z-wasm 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

7z-wasm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=8.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

7z-wasm 可以商用吗?

7z-wasm 使用 SEE LICENSE IN License.txt 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

7z-wasm 的下载量有多少?

根据 npm 官方下载统计,7z-wasm 在 2026/10/04 – 2026/11/02 这 30 天内被下载 225,084 次,日均约 7,503 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

7z-wasm 还在维护吗?

最新版本 1.2.0 发布于 2025/06/23(1.4 年前);至今共发布 11 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/08/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。