这是什么?
JSZip 是一个 JavaScript 库,用于创建、读取和编辑 .zip 文件,可以在浏览器和 Node.js 中使用。
它是独立的应用,还是要加进我自己代码里的库?
它是一个库,需要导入到你自己的 JavaScript 项目中,而不是独立的应用程序。
怎么把它加到项目里?
可以用 npm 包的方式安装,然后在 Node.js 中通过 require 或 import 引入;如果在浏览器端使用,也可以通过 script 标签引入浏览器版本。
还需要配合其他库一起用吗?
它在底层依赖 'lie'、'pako'、'readable-stream' 和 'setimmediate',但这些会作为依赖一并安装,你不需要自己再添加。
它是既能读也能写 zip 文件,还是只能单向操作?
它通过同一套 API,既支持创建新的 zip 文件,也支持读取和编辑已有的 zip 文件。
它能在浏览器里用,还是只能在服务端的 Node 里用?
JSZip 两种环境都能运行:它同时提供浏览器版和 Node.js 版,并且两者各自有独立的测试套件。
我能压缩或解压文件,还是只能原样打包?
可以,支持压缩。JSZip 内部使用 'pako' 库进行 deflate 压缩,同时也可以不压缩,直接存储文件。
除了 JSZip 自己生成的,我能读取其他工具生成的 zip 文件吗?
可以。读取是它 API 的核心功能,JSZip 能加载并读取任意已有的 .zip 文件,不限于它自己创建的。
它能处理大文件或数据流吗?
它依赖 'readable-stream' 和 'setimmediate',这表明它可能支持基于流和异步的方式处理 zip 数据,不过 README 中没有给出具体的大小限制。
What are similar projects?
socket.io-client, ua-parser-js, squoosh, comlink, redux-persist, jsdom, Mock, msw
Which topics is it in?
zip, compression, browser, gplv3, npm, frontend, api, nodejs, library, javascript, web, cross-platform