Welcome to the Ultimate Guide on Archiver Library
The archiver
library is an essential tool for handling file archives. This library is perfect for compressing, uncompressing, and managing your file archives with ease. Below, we provide a comprehensive look at the archiver
library, with numerous API examples and a practical app demonstration.
Getting Started with Archiver
const archiver = require('archiver');
Creating a Zip Archive
const output = fs.createWriteStream('example.zip');
const archive = archiver('zip');
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
archive.pipe(output);
archive.append(fs.createReadStream('file1.txt'), { name: 'file1.txt' });
archive.finalize();
Creating a Tar Archive
const tarOutput = fs.createWriteStream('example.tar');
const tarArchive = archiver('tar');
tarOutput.on('close', function() {
console.log(tarArchive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
tarArchive.pipe(tarOutput);
tarArchive.append(fs.createReadStream('file2.txt'), { name: 'file2.txt' });
tarArchive.finalize();
Working with Directories
const dirOutput = fs.createWriteStream('directory.zip');
const dirArchive = archiver('zip');
dirOutput.on('close', function() {
console.log(dirArchive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
dirArchive.pipe(dirOutput);
dirArchive.directory('path/to/folder/', 'new-folder');
dirArchive.finalize();
Adding Files Globally
const globOutput = fs.createWriteStream('files.zip');
const globArchive = archiver('zip');
globOutput.on('close', function() {
console.log(globArchive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
globArchive.pipe(globOutput);
globArchive.glob('*.txt');
globArchive.finalize();
Appending Buffer Data
const bufferOutput = fs.createWriteStream('buffer.zip');
const bufferArchive = archiver('zip');
const bufferData = Buffer.from('Hello, this is a test.');
bufferOutput.on('close', function() {
console.log(bufferArchive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
bufferArchive.pipe(bufferOutput);
bufferArchive.append(bufferData, { name: 'test.txt' });
bufferArchive.finalize();
Practical App Example
Now that we have explored various APIs, let’s implement a simple app that uses these methods.
const fs = require('fs');
const archiver = require('archiver');
function createArchive() {
const output = fs.createWriteStream('archive.zip');
const archive = archiver('zip');
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
archive.pipe(output);
archive.directory('documents/', 'docs');
archive.file('notes.txt', { name: 'notes.txt' });
archive.finalize();
}
createArchive();
By following this comprehensive guide, you should now have a good understanding of how to effectively use the archiver
library. With this tool, managing your file archives has never been easier.
Hash: 539d1b2d6fe0b8f8149afd750aee63b19bf1bae1e6b21538a30d50bf073c8dee