import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Create a PDF from an HTML string
const pdf = await PdfDocument.fromHtml("<h1>Hello World</h1>");
// Export the PDF to a file
await pdf.saveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external HTML assets: Images, CSS, and JavaScript.
const htmlContentWithAssets = "<img src='icons/iron.png'>";
const advancedPdf = await PdfDocument.fromHtml(htmlContentWithAssets);
// Save the PDF with loaded assets
await advancedPdf.saveAs("html-with-assets.pdf");
})();
snowpack NPM (Comment ça marche pour les développeurs)
Darrius Serrant
octobre 24, 2024
Partager:
Les applications modernes apprécient Snowpack en raison de sa facilité et de sa rapidité dans le cycle de développement des applications web. Il garde la trace des modifications apportées aux fichiers et ne reconstruit que les parties de l'application qui ont été modifiées, ce qui élimine les longues reconstructions et la nécessité de regrouper des morceaux entiers. Elle est donc particulièrement utile pour les projets de grande envergure ou les applications dont les bases de code évoluent. De plus, une telle architecture rend Snowpack une chaîne d'outils plus modulaire et légère, permettant l'importation plus facile de seulement certaines parties des bibliothèques si nécessaire, ce qui réduit la taille globale et améliore les performances. Dans cet article, nous allons en apprendre davantage sur Snowpack avec les paquets IronPDF.
Introduction
Snowpack est un nouvel outil dans le développement d'applications web qui pourrait élever l'environnement de développement à un autre niveau. Il dispose d'un serveur de développement optimisé, ce qui rend le développement plus productif sans affecter la vitesse de développement. En utilisant le système de construction performant de Snowpack, tout développeur peut facilement créer et itérer sur son projet Snowpack en un rien de temps et obtenir des performances de production améliorées. L'aspect intéressant de l'approche adoptée par Snowpack pour accélérer le développement est la façon dont il limite les regroupements lourds au moment du développement pour une expérience plus rapide et plus réactive, garantissant que le résultat final pour la production est hautement optimisé.
Pour ce faire, Snowpack construit les fichiers un par un, uniquement lorsqu'ils sont modifiés, au lieu de regrouper l'ensemble de l'application à chaque fois. Cela fait d'énormes différences en termes de gain de temps lorsque vous voyez des changements dans votre navigateur, ce qui rend le développement beaucoup plus réactif. En outre, Snowpack supporte un vaste écosystème de plugins et d'intégrations qui facilitent l'extension de ses fonctionnalités pour intégrer un grand nombre d'outils et de frameworks dans votre flux de travail.
Simple et rapide, Snowpack est le meilleur outil pour tout développeur souhaitant optimiser les performances de sa production et créer des applications web modernes et performantes. La configuration est facile, et elle est minimale ; elle se concentre uniquement sur l'utilisation des dernières normes, fonctionnalités clés et technologies en matière de services.
Intégration de Snowpack NPM avec Node.js
Intégrer Snowpack dans notre application Node.js : Améliorez votre flux de développement avec le système de construction moderne et l'environnement de développement rapide et efficace fourni par Snowpack. Voici un guide sur l'intégration de Snowpack dans un projet Node.js.
Installer Node.js et Snowpack
Tout d'abord, nous devons avoir Node.js et NPM installés sur votre machine. Nous pouvons télécharger les dernières versions depuis le site officiel de Node.js.
Configurez votre projet Node.js
Créez un nouveau projet Node.js si vous ne l'avez pas encore fait, ou modifiez votre projet existant :
mkdir my-node-app
cd my-node-app
npm init -y
mkdir my-node-app
cd my-node-app
npm init -y
SHELL
Installer Snowpack
Installez Snowpack en tant que dépendance dev dans votre projet :
npm install --save-dev snowpack
npm install --save-dev snowpack
SHELL
Configurer Snowpack
Créez un fichier de configuration pour Snowpack dans le répertoire racine de votre projet : snowpack.config.js. Ce fichier décrit comment Snowpack doit construire et servir votre projet.
// snowpack.config.js
module.exports = {
mount: {
public: '/', // Mount the 'public' directory to the root URL path
src: '/dist', // Mount the 'src' directory to the '/dist' URL path
},
buildOptions: {
out: 'build', // Output directory for the build
},
plugins: [
// Add any necessary plugins here
],
optimize: {
bundle: true, // Bundle final build files for optimized delivery
minify: true, // Minify the build files
target: 'es2020', // Set the target output for modern JavaScript syntax
},
};
js
JAVASCRIPT
Ajouter des scripts de démarrage et de construction
Mettez à jour la section scripts de votre package.json pour inclure les commandes permettant d'exécuter Snowpack en mode développement et de construire votre projet pour la production :
Si votre application Node.js dispose d'un serveur backend, tel qu'Express, nous pourrions facilement intégrer Snowpack en servant les fichiers frontaux construits à partir de notre serveur Node.js.
Exemple avec Express :
const express = require('express');
const path = require('path');
const app = express();
const port = process.env.PORT
3000;
// Serve static files from the 'build' directory
app.use(express.static(path.join(__dirname, 'build')));
// Serve index.html for all requests (SPA)
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
js
JAVASCRIPT
Le code ci-dessus configure le serveur Express.js de base pour servir une application à page unique. Au début, les modules "express" et "path" sont importés. Snowpack est un framework web léger de Node.js pour gérer la logique côté serveur, tandis que Path est le module Node.js qui gère les chemins d'accès aux fichiers. Une application Express est ensuite créée et enregistrée dans la variable app, tandis que le port du serveur est défini sur la variable d'environnement PORT ou sur la valeur par défaut 3000.
L'intergiciel dans app.use sert des fichiers statiques à partir du répertoire de construction qui comprend généralement les actifs frontaux compilés de l'application. Enfin, le gestionnaire de route générique app.get('*') garantit que chaque requête entrante reçoit une réponse avec index.html du répertoire de construction, permettant ainsi au routage côté client de fonctionner au sein de l'application monopage (SPA). Enfin, l'appel à app.listen démarre le serveur sur le port spécifié et enregistre un message indiquant que le serveur est en cours d'exécution et accessible.
Présentation d'IronPDF pour Node.js : un générateur de PDF
Utilisez le puissant package Node.js IronPDF for Node.js pour créer, éditer, manipuler et convertir des documents PDF. Il est utilisé dans une variété de tâches de programmation concernant les PDF, de la conversion de HTML en PDF à la modification de PDF préexistants. IronPDF s'avère très pratique dans les applications qui nécessitent une génération et un traitement dynamiques des PDF, offrant un moyen simple et flexible de générer des documents PDF de qualité.
Installer le package IronPDF
Installer les paquets qui rendront les fonctionnalités d'IronPDF dans Node.js disponibles via le gestionnaire de paquets Node.js.
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL
Générer des PDF avec Snowpack bundler
Nous pouvons facilement intégrer le bundler Snowpack à IronPDF. nous pouvons créer notre application en quelques millisecondes. Vous trouverez ci-dessous un exemple de code que nous allons utiliser pour lier le Snowpack.
const express = require("express");
const path = require("path");
const IronPdf = require("@ironsoftware/ironpdf");
const document = IronPdf.PdfDocument;
var config = IronPdf.IronPdfGlobalConfig;
config.setConfig({
licenseKey:
"",
});
const htmlContent = `
<html>
<head>
<style>
body {{ font-family: Arial, sans-serif; }}
h1 {{ color: navy; }}
p {{ font-size: 14px; }}
</style>
</head>
<body>
<h1>User Details</h1>
<p><strong>ID:</strong> 1</p>
<p><strong>Name:</strong> Hendry</p>
</body>
</html>
`;
// Example: Express
// On request, build each file on request and respond with its built contents
const app = express();
const port = process.env.PORT
3000;
// Serve static files from the 'build' directory
app.use(express.static(path.join(__dirname, "build")));
app.get("/generate-pdf", async (req, res) => {
console.log("Requesting:generate-pdf");
// Generate PDF document
try {
let result = await document.fromHtml(htmlContent);
const pdfBuffer = await result.saveAsBuffer();
res.setHeader("Content-Type", "application/pdf");
res.send(pdfBuffer);
} catch (error) {
console.error("PDF generation error:", error);
res.status(500).send("PDF generation error");
}
});
// Serve index.html for all requests (SPA)
app.get("*", async (req, res) => {
res.sendFile(path.join(__dirname, "build", "index.html"));
});
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
js
JAVASCRIPT
Voici la configuration du serveur Express.js, qui servira des fichiers statiques et générera des PDF à l'aide d'une bibliothèque IronPDF. Elle importe avant tout les modules suivants : le module 'express', le module 'path' chargé de traiter les chemins d'accès aux fichiers, et enfin, le module 'IronPdf' pour générer des PDF. Ensuite, elle initialise IronPdf avec une clé de licence. Dans cet exemple, tout sera vide. Définissons maintenant un modèle HTML très basique avec quelques éléments de style et un peu de texte.
Servez des fichiers statiques à partir du répertoire de construction, puis définissez une route qui déclenchera toutes les demandes de traitement et de génération de PDF dans une application Express donnée. La requête vers cette route prend du contenu HTML prédéfini et utilise le package `iron-pdf` pour transformer cet HTML en document PDF. Il renvoie la mémoire tampon au client, y compris l'en-tête Content-Type correct. Toutes les défaillances survenant lors de la génération du PDF sont enregistrées et la réponse d'erreur 500 est renvoyée si nécessaire.
En outre, elle met en place une route de rattrapage renvoyant index.html dans le répertoire de construction pour toute autre demande, de sorte qu'elle prend en charge les applications à page unique. En outre, liez ce serveur à celui de votre choix sur le numéro de port spécifié et enregistrez un message indiquant qu'il est en cours d'exécution. Ainsi, nous sommes parvenus à une configuration pratique simple pour le serveur servant des fichiers statiques et générant des PDF à la demande.
Licences pour IronPDF
Le code ci-dessus a besoin d'une clé de licence pour fonctionner sans le filigrane. Les développeurs qui s'inscrivent ici reçoivent une licence d'essai qui ne nécessite pas de carte de crédit. Il est possible de s'inscrire à cet essai gratuit en saisissant son adresse électronique.
Conclusion
Dans un environnement Node.js, Snowpack peut être intégré à IronPDF pour une approche beaucoup plus solide et moderne du développement web. IronPDF offre d'immenses fonctionnalités dans la création et la manipulation de PDF, et Snowpack fonctionne comme un gestionnaire d'actifs frontaux ultra-rapide. Les fonctionnalités avancées d'IronPDF en matière de manipulation des PDF, ainsi que l'optimisation de la construction fournie par Snowpack, vous aideront à générer des PDF dynamiques et de haute qualité à un rythme beaucoup plus rapide. Il ne fait aucun doute que cette intégration contribuera grandement à la bonne exécution des développements frontaux et dorsaux. En plus de cela, les riches fonctionnalités PDF d'IronPDF peuvent être exploitées avec les avantages de Snowpack dans le développement web moderne pour permettre des applications aussi puissantes et complètes. Pour en savoir plus sur la documentation d'IronPDF, consultez la page de démarrage.
Nous pouvons également examiner d'autres technologies d'Iron Software qui peuvent vous aider à répondre aux besoins des applications contemporaines et à perfectionner vos compétences en programmation.
Darrius Serrant est titulaire d'une licence en informatique de l'Université de Miami et travaille en tant qu'ingénieur marketing Full Stack WebOps chez Iron Software. Attiré par le code depuis son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le support parfait pour la créativité et la résolution de problèmes.
Chez Iron Software, Darrius apprécie de créer de nouvelles choses et de simplifier des concepts complexes pour les rendre plus compréhensibles. En tant que l'un de nos développeurs résidents, il a également fait du bénévolat pour enseigner aux étudiants, partageant son expertise avec la prochaine génération.
Pour Darrius, son travail est épanouissant car il est apprécié et a un réel impact.
< PRÉCÉDENT NPM fuse-box (Comment ça marche pour les développeurs)
SUIVANT > mimosa NPM (Comment ça marche pour les développeurs)
Vous avez une question ? Prendre contact avec notre équipe de développement.
Vous avez une question ? Contactez notre équipe de développement.
Commencez GRATUITEMENT
Aucune carte de crédit n'est requise
Test dans un environnement réel
Testez en production sans filigranes. Fonctionne là où vous en avez besoin.
Produit entièrement fonctionnel
Obtenez 30 jours de produit entièrement fonctionnel. Faites-le fonctionner en quelques minutes.
assistance technique 24/5
Accès complet à notre équipe d'ingénieurs pendant la période d'essai du produit
Obtenez votre clé d'essai de 30 jours gratuite instantanément.
Aucune carte de crédit ou création de compte n'est nécessaire
Le formulaire d'essai a été soumis avec succès.
Votre clé d'essai devrait être dans l'e-mail. Si ce n'est pas le cas, veuillez contacter support@ironsoftware.com
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier