JavaScript'te dosya sıkıştırma ve arşivleme, dosyaları veya dizinleri tek bir dosya haline getirerek depolama alanını azaltma veya birden fazla dosyayı bir arada göndermeyi kolaylaştırma işlemidir. Bu işlem, dosyaları ZIP, TAR veya GZ gibi formatlarda sıkıştırarak gerçekleştirilir. Node.js için çeşitli kütüphaneler, geliştiricilerin uygulamalarında dosya sıkıştırma ve arşivleme işlevselliği eklemelerine olanak tanır. Bu kütüphaneler, dosyaları programatik olarak sıkıştırma, arşivleme, açma ve içlerinden dosya çıkarma gibi işlemleri gerçekleştirmek için çeşitli API'ler sunar. Örneğin, adm-zip kütüphanesi, ZIP dosyalarını oluşturma ve yönetme konusunda basit bir API sunarken, archiver kütüphanesi daha karmaşık arşivleme işlemleri için esneklik ve özelleştirme imkanı sağlar. Bu kütüphaneler, dosya yönetimi, veri yedekleme, web uygulamaları ve daha birçok alanda kullanılır.
Npm Package Weekly Downloads Trend
3 Years
Github Stars Ranking
Stat Detail
Package
Downloads
Stars
Size
Issues
Publish
License
Package
Downloads
Stars
Size
Issues
Publish
License
jszip
69,917,481
10,394
693 kB
391
2 months ago
(MIT OR GPL-3.0-or-later)
archiver
66,563,007
2,979
39.6 kB
175
6 months ago
MIT
adm-zip
31,674,702
2,186
151 kB
61
2 months ago
MIT
node-zip
130,490
217
-
19
12 years ago
-
zip-a-folder
68,811
78
262 kB
0
13 days ago
MIT
zip-local
35,202
122
57.1 kB
13
-
-
Feature Comparison: jszip vs archiver vs adm-zip vs node-zip vs zip-a-folder vs zip-local
Sıkıştırma ve Arşivleme
jszip:
jszip kütüphanesi, ZIP dosyalarını oluşturma, okuma ve düzenleme işlemlerini yapmanıza olanak tanır. Hem tarayıcıda hem de Node.js ortamında çalışabilir, bu da onu çok yönlü bir çözüm haline getirir.
archiver:
archiver kütüphanesi, akış tabanlı arşivleme yaparak büyük dosyaları veya dizinleri sıkıştırmanıza olanak tanır. ZIP, TAR, GZ gibi çeşitli formatlarda arşivleme yapabilir ve daha fazla özelleştirme imkanı sunar.
adm-zip:
adm-zip kütüphanesi, ZIP dosyalarını oluşturma, açma ve içlerinden dosya çıkarma işlemlerini kolayca yapmanıza olanak tanır. ZIP dosyası oluşturma, var olan bir ZIP dosyasını açma ve içindeki dosyaları listeleme gibi temel işlemleri destekler.
node-zip:
node-zip kütüphanesi, basit bir şekilde ZIP dosyaları oluşturma ve açma işlemlerini yapar. Ancak, daha karmaşık arşivleme işlemleri için sınırlı özelliklere sahiptir.
zip-a-folder:
zip-a-folder kütüphanesi, bir dizini hızlı bir şekilde ZIP dosyasına sıkıştırmak için tasarlanmıştır. Dizin sıkıştırma işlemlerini basit ve hızlı bir şekilde gerçekleştirir.
zip-local:
zip-local kütüphanesi, yerel dosyaları ve dizinleri ZIP dosyalarına sıkıştırmak için basit bir API sunar. Hızlı ve hafif bir çözüm olup, temel sıkıştırma işlemleri için idealdir.
Akış Desteği
jszip:
jszip kütüphanesi, ZIP dosyalarını oluştururken ve okurken akış desteği sunmaz. Tüm dosyaları bellekte tutarak çalışır, bu da büyük dosyalarla çalışırken bellek kullanımı açısından sınırlamalar getirebilir.
archiver:
archiver kütüphanesi, akış tabanlı arşivleme işlemleri için tasarlanmıştır. Bu sayede büyük dosyaları veya dizinleri sıkıştırırken bellek verimliliği sağlar ve daha az bellek kullanarak arşivleme yapar.
adm-zip:
adm-zip kütüphanesi, akış tabanlı işlemler için optimize edilmemiştir. Tüm dosyaları bellekte tutarak çalışır, bu da büyük dosyalarla çalışırken bellek sorunlarına yol açabilir.
node-zip:
node-zip kütüphanesi, akış tabanlı işlemler için optimize edilmemiştir. Tüm dosyaları bellekte tutarak çalışır, bu da büyük dosyalarla çalışırken bellek sorunlarına yol açabilir.
zip-a-folder:
zip-a-folder kütüphanesi, dizinleri sıkıştırırken akış tabanlı bir yaklaşım kullanmaz. Tüm dizin içeriğini bellekte tutarak sıkıştırma işlemi yapar, bu da büyük dizinlerle çalışırken bellek kullanımı sorunlarına yol açabilir.
zip-local:
zip-local kütüphanesi, akış tabanlı işlemler için optimize edilmemiştir. Tüm dosyaları bellekte tutarak çalışır, bu da büyük dosyalarla çalışırken bellek sorunlarına yol açabilir.
Dizin Sıkıştırma
jszip:
jszip kütüphanesi, dizinleri sıkıştırma işlemini destekler. Dizin içindeki dosyaları ve alt dizinleri ZIP dosyasına ekleyebilir.
archiver:
archiver kütüphanesi, dizinleri sıkıştırma işlemini destekler. Dizin içindeki tüm dosyaları ve alt dizinleri ZIP veya diğer arşiv formatlarına ekleyebilir.
adm-zip:
adm-zip kütüphanesi, dizinleri sıkıştırma işlemini destekler. Dizin içindeki tüm dosyaları ve alt dizinleri ZIP dosyasına ekleyebilir.
node-zip:
node-zip kütüphanesi, dizinleri sıkıştırma işlemini destekler. Ancak, alt dizinleri ve dosyaları eklerken daha sınırlı bir esneklik sunar.
zip-a-folder:
zip-a-folder kütüphanesi, dizinleri sıkıştırma işlemini destekler. Bir dizini ve içindeki tüm dosyaları ve alt dizinleri hızlı bir şekilde ZIP dosyasına sıkıştırır.
zip-local:
zip-local kütüphanesi, dizinleri sıkıştırma işlemini destekler. Dizin içindeki dosyaları ve alt dizinleri ZIP dosyasına ekleyebilir.
Örnek Kullanım
jszip:
jszip kütüphanesi ile ZIP dosyası oluşturma ve okuma
const JSZip = require('jszip');
const fs = require('fs');
const zip = new JSZip();
// ZIP dosyasına dosya ekleme
zip.file('hello.txt', 'Hello World!');
zip.file('image.png', fs.readFileSync('path/to/image.png'));
// ZIP dosyasını yazma
zip.generateAsync({ type: 'nodebuffer' }).then(content => {
fs.writeFileSync('output.zip', content);
});
// ZIP dosyasını okuma
fs.readFile('output.zip', (err, data) => {
zip.loadAsync(data).then(zip => {
zip.file('hello.txt').async('string').then(content => {
console.log(content);
});
});
});
archiver:
archiver kütüphanesi ile akış tabanlı ZIP dosyası oluşturma
adm-zip kütüphanesi ile ZIP dosyası oluşturma ve açma işlemleri
const AdmZip = require('adm-zip');
// Yeni bir ZIP dosyası oluşturma
const zip = new AdmZip();
zip.addFile('example.txt', Buffer.from('Hello, World!'), 'A simple text file');
zip.addLocalFile('path/to/image.png');
zip.writeZip('output.zip');
// ZIP dosyasını açma
const zipFile = new AdmZip('output.zip');
const zipEntries = zipFile.getEntries();
zipEntries.forEach(entry => {
console.log(entry.entryName);
});
node-zip:
node-zip kütüphanesi ile basit ZIP dosyası oluşturma
const zip = require('node-zip')();
const fs = require('fs');
// ZIP dosyasına dosya ekleme
zip.file('hello.txt', 'Hello World!');
zip.file('image.png', fs.readFileSync('path/to/image.png'));
// ZIP dosyasını oluşturma
const data = zip.generate({ base64: false });
fs.writeFileSync('output.zip', data, 'binary');
zip-local kütüphanesi ile yerel dosyaları sıkıştırma
const zipLocal = require('zip-local');
zipLocal.zip('path/to/directory', (err, zipped) => {
if (err) {
console.error('Hata:', err);
} else {
zipped.write('output.zip', (writeErr) => {
if (writeErr) {
console.error('ZIP dosyası yazma hatası:', writeErr);
} else {
console.log('ZIP dosyası başarıyla yazıldı!');
}
});
}
});
How to Choose: jszip vs archiver vs adm-zip vs node-zip vs zip-a-folder vs zip-local
jszip:
jszip kütüphanesini, ZIP dosyalarını oluşturmak, okumak ve düzenlemek için tarayıcı ve Node.js ortamlarında çalışabilen bir çözüm arıyorsanız tercih edin. Özellikle istemci tarafında ZIP dosyaları oluşturmak için uygundur.
archiver:
archiver kütüphanesini, akış tabanlı arşivleme işlemleri yapmanız gerekiyorsa ve daha fazla özelleştirme ve esneklik istiyorsanız seçin. Büyük dosyalarla çalışırken bellek verimliliği sağlar.
adm-zip:
adm-zip kütüphanesini, basit ve hızlı bir şekilde ZIP dosyaları oluşturmak, açmak veya içlerinden dosya çıkarmak istiyorsanız tercih edin. Kullanımı kolaydır ve küçük projeler için idealdir.
node-zip:
node-zip kütüphanesini, basit ve hafif bir ZIP oluşturma ve açma aracı arıyorsanız seçin. Ancak, daha fazla özellik ve esneklik arıyorsanız sınırlı kalabilir.
zip-a-folder:
zip-a-folder kütüphanesini, bir dizini hızlı ve kolay bir şekilde ZIP dosyasına sıkıştırmak istiyorsanız tercih edin. Kullanımı basittir ve dizin sıkıştırma işlemleri için özel olarak tasarlanmıştır.
zip-local:
zip-local kütüphanesini, yerel dosyaları ve dizinleri ZIP dosyalarına sıkıştırmak için basit bir API arıyorsanız seçin. Hızlı ve hafif bir çözümdür.
Popular Comparisons
Similar Npm Packages to jszip
jszip bir JavaScript kütüphanesidir ve ZIP dosyalarını oluşturmak, okumak ve düzenlemek için kullanılır. Hem tarayıcıda hem de Node.js ortamında çalışabilen bu kütüphane, dosya sıkıştırma ve arşivleme işlemlerini kolaylaştırır. JSZip, kullanıcıların ZIP dosyalarını programatik olarak yönetmelerine olanak tanırken, dosyaları hızlı ve verimli bir şekilde işleyebilir. Ancak, JSZip'in yanı sıra benzer işlevselliğe sahip başka kütüphaneler de bulunmaktadır. İşte bazı alternatifler:
adm-zip basit bir ZIP dosyası okuma ve yazma kütüphanesidir. Node.js için tasarlanmış olan bu kütüphane, ZIP dosyalarını kolayca oluşturmanıza, okumanıza ve dosyaları çıkarmanıza olanak tanır. Adm-zip, kullanıcı dostu bir API sunarak, geliştiricilerin ZIP dosyalarıyla hızlı bir şekilde çalışmasını sağlar. Eğer basit ve hızlı bir çözüm arıyorsanız, adm-zip iyi bir alternatif olabilir.
archiver daha gelişmiş bir arşivleme kütüphanesidir. ZIP ve diğer arşiv formatlarını destekleyen bu kütüphane, akış tabanlı bir API sunarak büyük dosyaların ve dizinlerin sıkıştırılmasını kolaylaştırır. Archiver, dosyaları sıkıştırırken daha fazla esneklik ve kontrol sağlar. Eğer büyük projeler üzerinde çalışıyorsanız ve daha fazla özelleştirme istiyorsanız, archiver iyi bir seçenek olabilir.
zip-local ise basit bir ZIP dosyası oluşturma ve çıkarma kütüphanesidir. Hem Node.js hem de tarayıcıda çalışabilen bu kütüphane, kullanıcıların dosyaları kolayca sıkıştırmasına ve açmasına olanak tanır. Zip-local, minimal bir API sunarak, geliştiricilerin hızlı bir şekilde ZIP dosyalarıyla çalışmasına yardımcı olur. Eğer basit bir çözüm arıyorsanız, zip-local iyi bir alternatif olabilir.
archiver npm paketi, Node.js uygulamalarında dosya arşivleme ve sıkıştırma işlemlerini kolaylaştırmak için kullanılan bir kütüphanedir. archiver, ZIP ve TAR gibi popüler arşiv formatlarını destekler ve dosyaları ve dizinleri sıkıştırmak için basit bir API sunar. Bu kütüphane, dosya sisteminden veri toplamak ve bunları arşivlemek isteyen geliştiriciler için oldukça kullanışlıdır. Ancak, archiver dışında da benzer işlevsellik sunan alternatif kütüphaneler bulunmaktadır. İşte bazı alternatifler:
tar npm paketi, dosyaları ve dizinleri TAR formatında arşivlemek için kullanılan bir kütüphanedir. tar, özellikle Unix tabanlı sistemlerde yaygın olarak kullanılan bir arşiv formatıdır ve genellikle dosyaların taşınması veya yedeklenmesi için tercih edilir. tar kütüphanesi, basit bir API ile dosyaları arşivleme ve çıkarma işlemlerini kolaylaştırır. Eğer projenizde TAR formatını kullanmayı planlıyorsanız, tar kütüphanesi iyi bir seçim olabilir.
zip-a-folder npm paketi, dizinleri ZIP formatında sıkıştırmak için kullanılan basit bir kütüphanedir. zip-a-folder, belirli bir dizini alarak onu hızlı ve kolay bir şekilde ZIP dosyasına dönüştürmenizi sağlar. Kullanımı oldukça basit olan bu kütüphane, özellikle küçük projelerde veya hızlı bir şekilde dizinleri sıkıştırmak isteyen geliştiriciler için idealdir.
adm-zip Node.js için bir ZIP dosyası okuma ve yazma kütüphanesidir. Kullanıcıların ZIP dosyalarını kolayca oluşturmasına, okumasına ve düzenlemesine olanak tanır. adm-zip, basit bir API ile hızlı ve etkili bir şekilde ZIP dosyalarıyla çalışmak isteyen geliştiriciler için ideal bir çözümdür. Ancak, adm-zip'in yanı sıra, benzer işlevsellik sunan başka kütüphaneler de bulunmaktadır. İşte bazı alternatifler:
jszip tarayıcılar ve Node.js için bir ZIP dosyası oluşturma ve okuma kütüphanesidir. jszip, ZIP dosyalarını oluşturmanın yanı sıra, mevcut ZIP dosyalarını da okuyabilir ve içindeki dosyaları çıkarabilir. Geliştiricilere, dosyaları sıkıştırma ve açma işlemlerini kolayca gerçekleştirme imkanı sunar. jszip, özellikle web uygulamalarında sıkça kullanılır ve geniş bir kullanıcı topluluğuna sahiptir.
node-zip Node.js için basit bir ZIP dosyası oluşturma kütüphanesidir. node-zip, kullanıcıların dosyaları kolayca sıkıştırmasına ve ZIP dosyaları oluşturmasına olanak tanır. Ancak, bu kütüphane daha az özellik sunar ve genellikle daha basit uygulamalar için tercih edilir. Eğer sadece temel ZIP oluşturma işlevselliğine ihtiyacınız varsa, node-zip iyi bir seçenek olabilir.
zip-stream akış tabanlı bir ZIP dosyası oluşturma kütüphanesidir. zip-stream, büyük dosyaları veya dosya dizinlerini sıkıştırmak için akış tabanlı bir yaklaşım sunarak bellek kullanımını azaltır. Bu, büyük veri setleriyle çalışan uygulamalar için oldukça faydalıdır. zip-stream, dosyaları sıkıştırırken akış kontrolü sağlamak isteyen geliştiriciler için mükemmel bir seçenektir.
node-zip bir Node.js paketi olup, dosyaları ve dizinleri zip formatında sıkıştırmak için kullanılır. Kullanıcı dostu bir API sunarak, geliştiricilerin zip dosyaları oluşturmasını ve yönetmesini kolaylaştırır. Ancak, node-zip'in yanı sıra benzer işlevsellik sunan başka kütüphaneler de bulunmaktadır. İşte bazı alternatifler:
adm-zip Node.js için başka bir popüler zip kütüphanesidir. Hem zip dosyalarını oluşturma hem de mevcut zip dosyalarını okuma ve düzenleme yetenekleri sunar. Kullanımı oldukça basit olan adm-zip, dosyaları sıkıştırmak ve çıkarmak için hızlı ve etkili bir çözüm arayan geliştiriciler için idealdir. Özellikle, sıkça zip dosyaları ile çalışan projelerde tercih edilmektedir.
yazl zip dosyaları oluşturmak için kullanılan hafif bir kütüphanedir. Yazılım geliştirme sürecinde performansı ön planda tutan geliştiriciler için tasarlanmıştır. Yazl, zip dosyalarını oluştururken yüksek verimlilik sağlar ve büyük dosyalarla çalışırken bile hızlı bir performans sunar. Eğer yalnızca zip dosyaları oluşturmak istiyorsanız, yazl iyi bir seçenek olabilir.
zip-a-folder belirli bir dizini zip dosyasına dönüştürmek için kullanılan basit bir kütüphanedir. Kullanımı kolaydır ve yalnızca bir dizini ziplemek için gerekli olan temel işlevselliği sunar. Eğer amacınız sadece bir dizini hızlıca ziplemekse, zip-a-folder sizin için uygun bir çözüm olacaktır.
zip-lib zip dosyaları oluşturmak ve yönetmek için kapsamlı bir kütüphanedir. Hem zip dosyalarını oluşturma hem de okuma işlemlerini destekler. Zip-lib, daha karmaşık zip dosyası işlemleri ve dosya yönetimi gereksinimleri olan projeler için ideal bir seçimdir. Özellikle, daha fazla özelleştirme ve kontrol isteyen geliştiriciler için faydalıdır.
zip-a-folder npm paketi, Node.js uygulamalarında klasörleri zip dosyalarına sıkıştırmak için kullanılan bir kütüphanedir. Kullanımı oldukça basit olan bu paket, belirli bir klasörü alır ve onu zip formatında bir dosya haline getirir. zip-a-folder, dosya sıkıştırma işlemlerini hızlı ve etkili bir şekilde gerçekleştirmek isteyen geliştiriciler için ideal bir çözümdür. Ancak, bu alanda başka alternatif kütüphaneler de bulunmaktadır:
adm-zip kütüphanesi, zip dosyalarını oluşturmak, okumak ve yönetmek için kullanılan bir başka popüler seçenektir. adm-zip, hem basit hem de karmaşık zip dosyası işlemlerini destekler ve kullanıcı dostu bir API sunar. Eğer zip dosyalarıyla çalışırken daha fazla kontrol ve esneklik arıyorsanız, adm-zip iyi bir tercih olabilir.
archiver kütüphanesi, zip ve diğer sıkıştırma formatları için güçlü bir araçtır. archiver, akış tabanlı bir API sunarak büyük dosyaları ve klasörleri sıkıştırmayı kolaylaştırır. Özellikle büyük veri setleriyle çalışıyorsanız ve performans önemliyse, archiver kullanışlı bir seçenek olacaktır.
node-zip kütüphanesi, JavaScript ile zip dosyaları oluşturmak için basit bir yöntem sunar. node-zip, temel zip dosyası işlemleri için yeterli olan hafif bir kütüphanedir. Eğer sadece basit zip dosyası oluşturma işlemleri yapıyorsanız, node-zip ihtiyacınızı karşılayabilir.
yazl kütüphanesi, zip dosyaları oluşturmak için kullanılan hafif ve hızlı bir araçtır. yazl, akış tabanlı bir yapı sunarak, büyük dosyaları sıkıştırırken performansı artırır. Eğer hızlı ve verimli bir zip oluşturma arıyorsanız, yazl iyi bir alternatif olabilir.
zip-dir kütüphanesi, belirli bir klasörü zip dosyasına sıkıştırmak için basit bir yöntem sunar. zip-dir, özellikle klasörleri hızlı bir şekilde sıkıştırmak isteyen geliştiriciler için kullanışlıdır.
zip-local bir Node.js paketi olup, dosyaları ve dizinleri ZIP formatında sıkıştırmak ve açmak için kullanılır. Kullanımı kolay bir API sunarak, geliştiricilerin dosya yönetimini basit ve etkili bir şekilde gerçekleştirmelerine olanak tanır. Ancak, zip-local dışında da benzer işlevsellik sunan başka kütüphaneler bulunmaktadır. İşte bazı alternatifler:
adm-zip basit bir ZIP dosyası oluşturma ve yönetme kütüphanesidir. Hem sıkıştırma hem de açma işlemlerini destekler ve dosya sistemine erişim sağlar. adm-zip, temel ZIP işlemleri için hızlı ve etkili bir çözüm arayan geliştiriciler için idealdir.
archiver daha karmaşık arşivleme ihtiyaçları için tasarlanmış bir kütüphanedir. ZIP ve TAR formatlarında dosyaları sıkıştırma yeteneğine sahiptir. archiver, akış tabanlı bir API sunarak büyük dosyaların ve dizinlerin sıkıştırılmasını kolaylaştırır. Özellikle büyük veri setleriyle çalışan projelerde tercih edilir.
jszip JavaScript ile ZIP dosyaları oluşturmak ve yönetmek için kullanılan bir kütüphanedir. Hem tarayıcıda hem de Node.js ortamında çalışabilir. jszip, ZIP dosyalarını okuma, yazma ve düzenleme işlemlerini destekler ve kullanıcıların ZIP dosyalarıyla etkileşimde bulunmalarını sağlar.
node-zip Node.js için basit bir ZIP dosyası oluşturma kütüphanesidir. Kullanımı kolay bir API sunarak, dosyaları sıkıştırma ve açma işlemlerini hızlı bir şekilde gerçekleştirir. node-zip, temel ihtiyaçlar için yeterli bir çözüm sunar.
zip-a-folder belirli bir dizini ZIP dosyası olarak sıkıştırmak için kullanılan bir kütüphanedir. Kullanıcıların dizinleri hızlı bir şekilde ZIP formatına dönüştürmelerine olanak tanır. zip-a-folder, basit ve etkili bir çözüm arayanlar için idealdir.