AIDE SUR LES NœUDS

fs extra npm (Comment ça fonctionne pour les développeurs)

Publié septembre 29, 2024
Partager:

Introduction

Node.jsest un environnement d'exécution JavaScript robuste qui a transformé la programmation côté serveur en fournissant un environnement de développement d'applications efficace et évolutif. fs-extra etIronPDFse démarquer parmi les nombreux packages Node.js disponibles pour les développeurs qui nécessitent des capacités sophistiquées de gestion de fichiers et de création de PDF.

Une API plus conviviale et davantage de méthodes sont disponibles pour les opérations de fichier telles que la copie, le déplacement et la suppression en utilisantfs-extra, une version améliorée du module fs natif de Node. La programmation asynchrone est également facilitée par la garantie d'une gestion fluide du système de fichiers grâce à la prise en charge des promesses et à la simplification de la gestion deJSON des dossiers.

Inversement,IronPDFest une bibliothèque PDF puissante qui permet aux programmeurs de générer, modifier et extraire le contenu des fichiers PDF. Cela fonctionne bien pourcréer des documents PDF à partir de HTMLou texte non formaté,combiner plusieurs PDFsetajout d'en-têtes et de pieds de page, filigranes et autres personnalisations aux PDF. Pour cette raison, c'est un outil inestimable pour créer des factures, des rapports et d'autres documents à la volée.

Les développeurs peuvent créer des systèmes de gestion de fichiers complexes et produire des PDF de qualité professionnelle au sein de leurs applications Node.js en intégrantfs-extra etIronPDF. Cette combinaison garantit que les programmes peuvent gérer efficacement des tâches complexes de traitement de fichiers et de documents en plus d'augmenter la productivité.

Qu'est-ce que fs extra npm ?

Un package Node.js flexible appeléfs-extras'étend sur le fs intégré(système de fichiers)module, offrant plus de fonctionnalités pour faciliter les opérations de fichiers de routine. Avec des fonctions comme fs.copy, fs.move et fs.remove, cela simplifie les opérations de copie, de déplacement et de suppression de fichiers et de répertoires. En dehors de cela, fs-extra est livré avec des outils pour lire et écrire des fichiers JSON.(fs.readJson, fs.writeJson), vérifiez l'existence des répertoires ou fichiers(fs.ensureDir, fs.ensureFile), et effectuer d'autres opérations pratiques. fs-extra nous permet également de remplacer des fichiers existants. Le fait qu'il prenne en charge les Promesses, rendant l'utilisation de la syntaxe async/await plus gérable pour la programmation asynchrone, est l'une de ses caractéristiques clés. Toutes les méthodes fs renvoient des promesses dans leur callback. fs-extra qui vient également avec les méthodes sync.

fs extra npm(Comment ça fonctionne pour les développeurs) : Figure 1 - Node.js : fs-extra

Fonctionnalités de fs-extra

En élargissant les fonctionnalités du module natif fs, fs-extra est un module de système de fichiers amélioré pour Node.js. C'est une option prisée par les développeurs car elle offre une gamme de techniques puissantes et pratiques pour gérer les fichiers et dossiers. Comparé au module fs d'origine, fs-extra possède les caractéristiques saillantes suivantes, ainsi que le support supplémentaire des promesses pour les méthodes fs normales :

Opérations de fichier améliorées

  • Copie: fs.copy(src, dest): copie des répertoires et des fichiers, y compris le contenu imbriqué, de la source à la destination.
  • Move: fs.move(src, dest): Transfère des dossiers et des fichiers, avec la possibilité de les renommer.
  • Supprimer: fs.remove(chemin): supprime les dossiers et fichiers de manière récursive.

Opérations de répertoire

  • Assurer le répertoire : fs.ensureDir(chemin): Vérifie si un répertoire existe déjà; si non, crée le répertoire.
  • Répertoire Vide : fs.emptyDir(chemin): Supprime un répertoire mais le laisse vide.
  • Assurer le fichier: fs.ensureFile(chemin): Vérifie si un fichier existe déjà; si ce n'est pas le cas, crée le fichier.

Gestion JSON

  • Lire JSON : fs.readJson(chemin): Lit un fichier JSON et analyse son contenu.
  • Écrire JSON : fs.writeJson(chemin, données): Écrit un objet JavaScript dans un fichier au format JSON.

Assistance par promesse

  • API Basée sur les Promesses : Comme la plupart des méthodes renvoient des Promises, écrire du code asynchrone avec la syntaxe async/await est beaucoup plus facile.

Compatibilité ascendante

  • Prise en charge complète du module fs : Étant donné que fs-extra inclut toutes les méthodes standards du module fs natif, il peut être utilisé comme un remplacement direct avec une compatibilité rétroactive complète.

Méthodes pratiques

  • Fichier de sortie : fs.outputFile(chemin, données): Crée des répertoires s'ils n'existent pas déjà et écrit des données dans un fichier.
  • Sortie JSON: fs.outputJson(chemin, données): crée des dossiers s'ils n'existent pas déjà avant d'écrire un objet JavaScript en JSON dans un fichier.
  • Lire le fichier : fs.readFile(chemin): Lit le contenu d'un fichier.
  • Écrire un fichier : fs.writeFile(chemin, données): Écrit des données dans un fichier.
  • Path Exists : fs.pathExists(chemin): Vérifie si un fichier ou un répertoire existe à l'emplacement donné.

Créer des liens symboliques

  • Assurer un lien symbolique : fs.ensureSymlink(srcpath, dstpath)Vérifie si un lien symbolique est présent, et s'il ne l'est pas, en crée un.

Création et configuration d'un projet Node.js avec fs-extra

Utilisez la bibliothèque fs-extra dans un projet Node.js en la créant et la configurant comme suit :

Mise en place du projet

Commencez par créer un nouveau répertoire pour votre projet et utilisez npm pour lancer un tout nouveau projet Node.js.(npm init -y). Cela remplit le cadre de base pour votre application.

Installer fs-extra

Utilisez npm pour installer la bibliothèque fs-extra :

npm install fs-extra
npm install fs-extra
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install fs-extra
VB   C#

Utilisation de fs-extra

Pour illustrer l'utilisation de fs-extra, ouvrez index.js dans votre éditeur de texte préféré et ajoutez le code d'exemple suivant.

// import fs module
const fs = require('fs-extra');
async function performFileOperations() {
  try {
    // Ensure a fs extra directory exists
    await fs.ensureDir('exampleDir');
    // Create a file and write some data to it
    await fs .outputFile('exampleDir/exampleFile.txt', 'Hello, world!');
    // Read the file
    const data = await fs.readFile('exampleDir/exampleFile.txt', 'utf-8');
    console.log('File Content:', data);
    // recursively copy files
    await fs.copy('exampleDir/exampleFile.txt', 'exampleDir/copyOfExampleFile.txt');
    // Move the file
    await fs.move('exampleDir/copyOfExampleFile.txt', 'exampleDir/movedExampleFile.txt');
    // Remove the file
    await fs.remove('exampleDir/movedExampleFile.txt');
    // Ensure a file exists and create it if it doesn't
    await fs.ensureFile('exampleDir/newFile.txt');
    // Write JSON data to a file
    const jsonData = { name: 'John Doe', age: 30 };
    await fs.writeJson('exampleDir/data.json', jsonData);
    // Read JSON data from a file
    const jsonFileContent = await fs.readJson('exampleDir/data.json');
    console.log('JSON File Content:', jsonFileContent);
  } catch (err) {
    console.error(err);
  }
}
performFileOperations();
// import fs module
const fs = require('fs-extra');
async function performFileOperations() {
  try {
    // Ensure a fs extra directory exists
    await fs.ensureDir('exampleDir');
    // Create a file and write some data to it
    await fs .outputFile('exampleDir/exampleFile.txt', 'Hello, world!');
    // Read the file
    const data = await fs.readFile('exampleDir/exampleFile.txt', 'utf-8');
    console.log('File Content:', data);
    // recursively copy files
    await fs.copy('exampleDir/exampleFile.txt', 'exampleDir/copyOfExampleFile.txt');
    // Move the file
    await fs.move('exampleDir/copyOfExampleFile.txt', 'exampleDir/movedExampleFile.txt');
    // Remove the file
    await fs.remove('exampleDir/movedExampleFile.txt');
    // Ensure a file exists and create it if it doesn't
    await fs.ensureFile('exampleDir/newFile.txt');
    // Write JSON data to a file
    const jsonData = { name: 'John Doe', age: 30 };
    await fs.writeJson('exampleDir/data.json', jsonData);
    // Read JSON data from a file
    const jsonFileContent = await fs.readJson('exampleDir/data.json');
    console.log('JSON File Content:', jsonFileContent);
  } catch (err) {
    console.error(err);
  }
}
performFileOperations();
' import fs module
Private const fs = require( 'fs-extra');
Async Function performFileOperations() As [function]
  Try
	' Ensure a fs extra directory exists
	Await fs.ensureDir( 'exampleDir');
	' Create a file and write some data to it
	Await fs.outputFile( 'exampleDir/exampleFile.txt', 'Hello, world!');
	' Read the file
	const data = Await fs.readFile( 'exampleDir/exampleFile.txt', 'utf-8');
	console.log( 'File Content:', data);
	' recursively copy files
	Await fs.copy( 'exampleDir/exampleFile.txt', 'exampleDir/copyOfExampleFile.txt');
	' Move the file
	Await fs.move( 'exampleDir/copyOfExampleFile.txt', 'exampleDir/movedExampleFile.txt');
	' Remove the file
	Await fs.remove( 'exampleDir/movedExampleFile.txt');
	' Ensure a file exists and create it if it doesn't
	Await fs.ensureFile( 'exampleDir/newFile.txt');
	' Write JSON data to a file
	const jsonData = { name: 'John Doe', age: 30 };
	Await fs.writeJson( 'exampleDir/data.json', jsonData);
	' Read JSON data from a file
	const jsonFileContent = Await fs.readJson( 'exampleDir/data.json');
	console.log( 'JSON File Content:', jsonFileContent);
  Catch e1 As err
	console.error(err)
  End Try
End Function
performFileOperations()
VB   C#

Le code ci-dessus illustre les fonctionnalités du module amélioré de système de fichiers Node.js, la bibliothèque fs-extra. Le script implémente une méthode asynchrone appelée performFileOperations pour effectuer plusieurs opérations sur des fichiers après avoir importé fs-extra. Utilisation de fs.ensureDir() méthode, elle vérifie d'abord qu'un répertoire portant le nom "exampleDir" existe. Ensuite, en utilisant fs.outputFile()méthode, elle crée un fichier appelé "exampleFile.txt" à l'intérieur de ce répertoire et y met le texte "Hello, world!"à elle." Utilisation de fs.readFile(), le script lit le contenu du fichier et l'enregistre dans la console.

Sortie de la console

fs extra npm(Comment cela fonctionne pour les développeurs) : Figure 2 - Sortie de la console pour l'application Node.js utilisant la bibliothèque fs-extra pour la gestion des fichiers.

De plus, il utilise des fonctions récursives comme fs.copy.() pour copier le fichier en "copyOfExampleFile.txt" puis utilise fs.move pour déplacer cette copie vers "movedExampleFile.txt". Ensuite, fs.remove() est utilisé pour supprimer le fichier relocalisé. Le script utilise fs.ensureFile() fonction pour vérifier l'existence de "newFile.txt" et fs.writeJson()pour écrire un objet JSON dans le fichier "data.json". Enfin, il utilise fs.readJson()pour lire les données JSON à partir du fichier et les consigner dans la console. Les erreurs qui surviennent tout au long de ces procédures sont notées et enregistrées. L'utilité et la facilité d'utilisation de fs-extra pour la gestion de fichiers et de répertoires dans Node.js sont ensuite démontrées en appelant la fonction performFileOperations** pour réaliser ces opérations successivement.

SORTIE

fs extra npm(Comment ça fonctionne pour les développeurs) : Figure 3 - Sortie de l'explorateur de fichiers affichant le répertoire exampleDir et les fichiers créés par programmation à l'aide de la bibliothèque fs-extra dans une application Node.js.

Combiner fs-extra avec IronPDF

Un ensemble d'outils puissant pour les développeurs Node.js est produit en combinantIronPDFpour une production fiable de PDF avec fs-extrapour des opérations de système de fichiers améliorées. Ce didacticiel vous montrera comment créer un projet Node.js en utilisant IronPDF et fs-extra, et il inclura un exemple de code qui montre comment les utiliser ensemble.

Qu'est-ce qu'IronPDF ?

UnIronPDFLa bibliothèque est une puissante bibliothèque Node.js qui vise à convertir des données HTML en fichiers PDF d'une qualité exceptionnelle. Il accélère le processus de conversion des fichiers HTML, CSS et autres JavaScript en PDF correctement formatés sans compromettre le contenu en ligne original. C'est un outil très utile pour les applications web qui doivent produire des documents dynamiques et imprimables, tels que des factures, des certifications et des rapports.

IronPDF possède plusieurs fonctionnalités, notamment des paramètres de page personnalisables, des en-têtes, des pieds de page et la possibilité d'ajouter des polices et des images. Il peut gérer des styles et des mises en page complexes pour garantir que chaque sortie de test PDF répond aux spécifications. De plus, IronPDFcontrôle l'exécution de JavaScript dans HTML, permettant un rendu précis de contenu dynamique et interactif.

fs extra npm(Comment ça fonctionne pour les développeurs) : Figure 4 - IronPDF for Node.js : La bibliothèque PDF pour Node.js

Caractéristiques d'IronPDF

Génération de PDF à partir de HTML

Convertissez HTML, CSS et JavaScript en PDF. prend en charge deux normes modernes du web : les requêtes médiatiques et le responsive design. pratique pour utiliser HTML et CSS afin de décorer dynamiquement les documents PDF, rapports et factures.

Edition PDF

Il est possible d'ajouter du texte, des images et d'autres éléments à des PDF déjà existants. Extraction de texte et d'images à partir de fichiers PDF. fusionner plusieurs PDF en un seul fichier. Diviser les fichiers PDF en plusieurs documents distincts. Ajouter des en-têtes, des pieds de page, des annotations et des filigranes.

Performance et fiabilité

Dans les contextes industriels, les performances élevées et la fiabilité sont des attributs souhaitables de la conception. traite facilement des ensembles de documents volumineux.

Installer IronPDF

Pour obtenir les outils nécessaires pour travailler avec des PDFs dans les projets node.js, installez lePaquet IronPDF.

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install @ironsoftware/ironpdf
VB   C#

Intégration de fs-extra npm avec IronPDF

Pour montrer comment utiliser fs-extra et IronPDF, ouvrez index.js dans votre éditeur de texte préféré et ajoutez le code suivant.

// 
const fs = require('fs-extra');
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
async function createAndManagePDF() {
  try {
    // Ensure the parent directories exist
    const outputDir = 'output';
    await fs.ensureDir(outputDir);
    // Define the HTML content for the PDF
    const htmlContent = `
      <html>
        <head>
          <title>Sample PDF</title>
        </head>
        <body>
          <h1>Hello, world!</h1>
          <p>This is a sample PDF generated using IronPDF and fs-extra.</p>
        </body>
      </html>
    `;
    // Initialize IronPDF and generate a PDF from the HTML content
    let pdf= await document.fromHtml(htmlContent);
    const pdfPath = `${outputDir}/sample.pdf`;
    await pdf.saveAs(pdfPath);
    console.log('PDF generated successfully:', pdfPath);
    // Read the PDF file
    const pdfData = await fs.readFile(pdfPath);
    console.log('PDF file size:', pdfData.length);
    // Copy the PDF file
    const copiedPdfPath = `${outputDir}/copied_sample.pdf`;
    await fs.copy(pdfPath, copiedPdfPath);
    console.log('PDF copied successfully:', copiedPdfPath);
    // Move the copied PDF file
    const movedPdfPath = `${outputDir}/moved_sample.pdf`;
    await fs.move(copiedPdfPath, movedPdfPath);
    console.log('PDF moved successfully:', movedPdfPath);
    // Remove the original PDF file
    await fs.remove(pdfPath);
    console.log('Original PDF removed successfully:', pdfPath);
  } catch (err) {
    console.error('Error during PDF creation and management:', err);
  }
}
createAndManagePDF();
// 
const fs = require('fs-extra');
const IronPdf = require("@ironsoftware/ironpdf");
const document=IronPdf.PdfDocument;
var config=IronPdf.IronPdfGlobalConfig
config.setConfig({licenseKey:''});
async function createAndManagePDF() {
  try {
    // Ensure the parent directories exist
    const outputDir = 'output';
    await fs.ensureDir(outputDir);
    // Define the HTML content for the PDF
    const htmlContent = `
      <html>
        <head>
          <title>Sample PDF</title>
        </head>
        <body>
          <h1>Hello, world!</h1>
          <p>This is a sample PDF generated using IronPDF and fs-extra.</p>
        </body>
      </html>
    `;
    // Initialize IronPDF and generate a PDF from the HTML content
    let pdf= await document.fromHtml(htmlContent);
    const pdfPath = `${outputDir}/sample.pdf`;
    await pdf.saveAs(pdfPath);
    console.log('PDF generated successfully:', pdfPath);
    // Read the PDF file
    const pdfData = await fs.readFile(pdfPath);
    console.log('PDF file size:', pdfData.length);
    // Copy the PDF file
    const copiedPdfPath = `${outputDir}/copied_sample.pdf`;
    await fs.copy(pdfPath, copiedPdfPath);
    console.log('PDF copied successfully:', copiedPdfPath);
    // Move the copied PDF file
    const movedPdfPath = `${outputDir}/moved_sample.pdf`;
    await fs.move(copiedPdfPath, movedPdfPath);
    console.log('PDF moved successfully:', movedPdfPath);
    // Remove the original PDF file
    await fs.remove(pdfPath);
    console.log('Original PDF removed successfully:', pdfPath);
  } catch (err) {
    console.error('Error during PDF creation and management:', err);
  }
}
createAndManagePDF();
' 
const fs = require( 'fs-extra');
const IronPdf = require("@ironsoftware/ironpdf")
const document=IronPdf.PdfDocument
Dim config=IronPdf.IronPdfGlobalConfig config.setConfig({licenseKey: ''});
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'async @function createAndManagePDF()
'{
'  try
'  {
'	' Ensure the parent directories exist
''INSTANT VB TODO TASK: The following line uses invalid syntax:
''	const outputDir = 'output'; await fs.ensureDir(outputDir); const htmlContent = ` <html> <head> <title> Sample PDF</title> </head> <body> <h1> Hello, world!</h1> <p> This is a sample PDF generated using IronPDF @and fs-extra.</p> </body> </html> `; let pdf= await document.fromHtml(htmlContent); const pdfPath = `${outputDir}/sample.pdf`; await pdf.saveAs(pdfPath); console.log('PDF generated successfully:', pdfPath); const pdfData = await fs.readFile(pdfPath); console.log('PDF file size:', pdfData.length); const copiedPdfPath = `${outputDir}/copied_sample.pdf`; await fs.copy(pdfPath, copiedPdfPath); console.log('PDF copied successfully:', copiedPdfPath); const movedPdfPath = `${outputDir}/moved_sample.pdf`; await fs.move(copiedPdfPath, movedPdfPath); console.log('PDF moved successfully:', movedPdfPath); await fs.remove(pdfPath); console.log('Original PDF removed successfully:', pdfPath); } catch(err) { console.@error('@Error during PDF creation @and management:', err); } } createAndManagePDF();
VB   C#

L'exemple de code Node.js ci-dessus combine IronPDF pour créer et gérerFichiers PDFavec fs-extra pour les opérations avancées sur le système de fichiers. Elle commence par s'assurer qu'un répertoire appelé "output" existe en créant un répertoire avec fs.ensureDir.(). Un répertoire est simplement un regroupement hiérarchique de répertoires et de fichiers. La structure du PDF qui sera créé est définie par le contenu HTML, contenu dans htmlContent. Il insère le contenu HTML en utilisant fromHtml() méthode et enregistre le PDF résultant sous "output/sample.pdf" en utilisant saveAs()fonction**, tous en utilisant la classe PdfDocument d'IronPDF.

SORTIE

fs extra npm(Comment cela fonctionne-t-il pour les développeurs ?): Figure 5 - Sortie de la console pour l'application Node.js combinant les bibliothèques fs-extra et IronPDF. Le programme utilise la bibliothèque fs-extra pour la gestion des fichiers et des répertoires et utilise la bibliothèque IronPDF pour convertir le contenu HTML en un document PDF.

fs-extra est utilisé pour continuer les opérations de fichier : La fonction fs.readFile() obtient le contenu du PDF pour suivre sa taille. Le fs.copy() duplique le fichier généré "output/sample.pdf" en "output/copied_sample.pdf", puis fs.move()La méthode déplace cette copie vers "output/moved_sample.pdf" et supprime le PDF original.** La gestion des erreurs avec les blocs try-catch permet de s'assurer que tous les problèmes survenant pendant l'exécution des méthodes ou activités fs sont identifiés et enregistrés. Dans l'ensemble, cette configuration montre comment améliorer les opérations sur les fichiers avec fs-extra et comment créer et manipuler facilement des PDF dans des applications Node.js avec IronPDF.

PDF DE SORTIE

fs extra npm(Comment ça fonctionne pour les développeurs) : Figure 6 - PDF de sortie généré en utilisant IronPDF et fs-extra : moved_sample.pdf

Conclusion

Enfin,fs-extra etIronPDFensemble fournissent une solution solide pour la gestion des opérations du système de fichiers et la production de PDF dans les applications Node.js. Avec ses méthodes améliorées, fs-extra simplifie les activités telles que la création de répertoires, la copie, le déplacement et la suppression de fichiers, et offre une base solide pour une gestion efficace des fichiers. Mais IronPDF offre une polyvalence dans la création et le traitement de documents, permettant de convertir facilement les informations HTML en documents PDF.

Lorsqu'elles sont combinées, ces bibliothèques permettent aux développeurs de créer facilement des applications dynamiques capables de créer, gérer et travailler avec des fichiers PDF. Avec l'intégration de fs-extra et IronPDF, les développeurs peuvent répondre à une variété de besoins en gestion de documents dans les environnements Node.js avec des capacités puissantes, qu'ils créent des factures, des rapports ou des documents dynamiques.

Avec l'aide deIronPDF etIronSoftware, vous pouvez élargir votre boîte à outils pour le développement Node avec la reconnaissance de texte (OCR), le scannage de codes-barres, la production de PDF, l'interaction avec Excel, et une multitude d'autres fonctions. Le site web d'IronSoftwaresystèmes hautement configurables et un éventail de plugins pris en charge par la communauté permettent aux développeurs de créer des fonctionnalités et des applications web plus rapidement.

Avec des détailsla documentationd'IronPDF commence seulement à 749 $.

Les développeurs peuvent choisir le meilleur modèle facilement si les options de licence spécifiques au projet sont clairement décrites. Ces fonctionnalités permettent aux développeurs de résoudre rapidement et efficacement une variété de problèmes.

Invité : Engage Elephant

< PRÉCÉDENT
express validator npm (Comment ça fonctionne pour les développeurs)
SUIVANT >
fastify npm (Comment ça fonctionne pour les développeurs)

Prêt à commencer ? Version : 2024.11 vient de paraître

Installation gratuite de npm Voir les licences > ;