Что это такое?
JSZip — это библиотека на JavaScript для создания, чтения и редактирования файлов .zip, которую можно использовать как в браузере, так и в Node.js.
Это отдельное приложение или библиотека, которую я подключаю к своему коду?
Это библиотека, которую вы импортируете в свой проект на JavaScript, а не самостоятельное приложение.
Как подключить её к проекту?
Установите её как пакет npm и подключите через require/import в Node.js либо добавьте браузерную сборку через тег <script> для использования на стороне клиента.
Нужны ли мне другие библиотеки вместе с ней?
Внутри она использует 'lie', 'pako', 'readable-stream' и 'setimmediate', но они поставляются как зависимости вместе с ней, так что добавлять их самостоятельно не нужно.
Она умеет и читать, и записывать файлы .zip, или только что-то одно?
Она поддерживает создание новых файлов .zip, а также чтение и редактирование существующих через один и тот же API.
Она работает в браузере или только на сервере в Node?
JSZip работает в обеих средах: у неё есть браузерная сборка и сборка для Node.js, и для каждой есть отдельные наборы тестов.
Могу ли я сжимать и распаковывать файлы или только упаковывать их без изменений?
Да, сжатие поддерживается: JSZip внутри использует библиотеку 'pako' для сжатия по алгоритму deflate, а также может сохранять файлы и без сжатия.
Могу ли я читать файл .zip, созданный другой программой, а не только те, что создал JSZip?
Да, JSZip может загружать и читать любые существующие файлы .zip, а не только созданные им самим, поскольку чтение — основная часть его API.
Работает ли она с большими файлами или потоками?
Она зависит от '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