La bibliothèque node-qrcode permet de créer des QR codes dans un environnement Node.js. Elle offre une variété d'options pour s'adapter à divers besoins. Démarrage rapide
Installation
Pour commancer, installez la bibliothèque via npm : ``` npm install qrcode
### Utilisation basique
Voici comment générer un QR code pour une URL donnée : ```
const QrGen = require('qrcode');
QrGen.toDataURL('https://monsite.com', (erreur, dataUrl) => {
if (erreur) throw erreur;
console.log(dataUrl);
});
Ce script produit un QR code pour l'URL spécifiée sous forme de Data URL. Cas d'utilisation et bonnes pratiques
Sauvegarde en tant qu'image
Il est possible de suavegarder le QR code comme fichier image : ``` const QrGen = require('qrcode');
QrGen.toFile('chemin/vers/qrcode.png', 'https://monsite.com', { color: { dark: '#000000', light: '#ffffff' } }, (erreur) => { if (erreur) throw erreur; console.log('QR code enregistré !'); });
### Affichage sur une page web
Vous pouvez également afficher le QR code directemnet dans une page web : ```
const QrGen = require('qrcode');
QrGen.toDataURL('https://monsite.com', (erreur, dataUrl) => {
if (erreur) throw erreur;
const imgElement = document.createElement('img');
imgElement.src = dataUrl;
document.body.appendChild(imgElement);
});
Intégration avec Express.js
Voici comment utiliser node-qrcode avec Express.js pour fournir des QR codes aux utilisateurs : ```
const express = require('express');
const QrGen = require('qrcode');
const app = express();
const PORT = 4000;
app.get('/creerQR', async (requete, reponse) => {
try {
const url = requete.query.url || 'https://monsite.com';
const qrCodeImage = await QrGen.toDataURL(url);
reponse.send(<img alt="QR Code" src="${qrCodeImage}"></img>);
} catch (erreur) {
console.error('Erreur lors de la génération du QR code:', erreur);
reponse.status(500).send('Erreur interne du serveur');
}
});
app.listen(PORT, () => {
console.log(Serveur en cours d'exécution sur le port ${PORT});
});
Ce code crée un serveur Express qui génère un QR code lorsque l'utilisateur accède à la route `/creerQR`. </div>