Het verkleinen van bestanden in Node.js kan worden bereikt met behulp van verschillende bibliotheken, afhankelijk van het soort bestand dat u wilt verkleinen. Hieronder leg ik uit hoe we dit kunnen doen voor zowel tekstbestanden als afbeeldingen.
Deze eenvoudige functie gebruikt de ‘fs’-module van Node.js om eerst de data van het originele bestand te lezen en dan op te slaan in een nieuw bestand met behulp van zlib om het te comprimeren:
```
const fs = require(‘fs’);
const zlib = require(‘zlib’);
function compressFile(inputFile, outputFile) {
const fileData = fs.createReadStream(inputFile);
const compressedData = fileData.pipe(zlib.createGzip());
const output = fs.createWriteStream(outputFile);
compressedData.pipe(output);
}
```
U kunt deze functie aanroepen als `compressFile(‘origineel.txt’, ‘compressed.gz’);`
Om een afbeelding te verkleinen of comprimeren kunnen we de ‘sharp’ module van Node.js gebruiken. Deze module stelt u in staat om de kwaliteit en/of afmetingen van de afbeelding te verkleinen:
```
const sharp = require(‘sharp’);
sharp(‘input.jpg’)
.resize(200, 200) // Verkrijg een 200×200px thumbnail
.jpeg({quality: 50}) // Verklein de kwaliteit van de jpeg
.toFile(‘output.jpg’)
.then(() => console.log(‘Image resize completed.’))
.catch(err => console.error(err));
```
Zorg ervoor dat de dependencies geïnstalleerd zijn door `npm install sharp zlib` te draaien in uw terminal.