Lire un fichier texte dans TypeScript
Ce tutoriel explique comment lire des fichiers texte dans TypeScript.
TypeScript Avec node.js
TypeScript est un sur-ensemble de JavaScript. Bien qu’il hérite de toutes les fonctionnalités de JavaScript lui-même, il fournit de nombreuses fonctionnalités puissantes prêtes à l’emploi qui ne sont pas incluses dans JavaScript.
Le node.js
est un framework JavaScript qui nous permet d’écrire du JavaScript côté serveur. Cela a fait une différence considérable par rapport à la norme d’exécution JavaScript typique basée sur un navigateur.
Pour développer avec node.js
et TypeScript, vous devez avoir node.js
installé. Vous pouvez vérifier si le nœud a été installé ou non à l’aide de la commande suivante.
node -v
La commande ci-dessus doit afficher la version node.js
actuellement installée. Sinon, vous devez installer node.js
depuis le site officiel.
De plus, votre machine doit avoir un package de compilateur TypeScript. Vérifiez-le en exécutant la commande suivante.
tsc --version
Il devrait afficher la version du compilateur TypeScript.
le module Node
Avec l’inclusion node.js
, TypeScript peut utiliser les packages NPM sans tracas. NPM fournit des milliers de packages et de bibliothèques open source que n’importe quelle application peut utiliser pour implémenter des fonctionnalités spécifiques en un rien de temps.
Les packages node.js
sont écrits en langage JavaScript. Par conséquent, vous devez installer à l’avance les définitions de type pour les packages NPM.
Installons les définitions de type de nœud comme indiqué ci-dessous.
npm install --save-dev @types/node
Il installerait toutes les définitions de type pour les packages de nœuds.
le module fs
Le module fs
est un package largement connu utilisé pour interagir avec le système de fichiers. Il offre un large éventail de fonctionnalités pour gérer un système de fichiers local, telles que la lecture d’un fichier, l’écriture dans un fichier, la suppression d’un répertoire, l’ajout à un fichier, etc.
Lire un fichier avec le module fs
Le module fs
prend en charge les API asynchrones et synchrones pour lire à partir d’un fichier.
readFileSync(path, [encoding])
or
readFile(path, [encoding], callback_function)
Utiliser la fonction readFileSync()
dans TypeScript
La fonction readFileSync()
permet de lire un fichier de manière synchrone. Il bloque l’exécution jusqu’à la fin de l’opération de lecture du fichier.
Importons d’abord le module fs
. Habituellement, node.js utilise require()
pour importer des packages.
Puisque nous utilisons du TypeScript ici, nous pouvons utiliser import
.
import * as fs from 'fs';
Cela importerait toutes les fonctions du package fs
, et nous pouvons les appeler par fs
.
Ensuite, nous initierons une variable pour contenir le chemin du fichier.
const fileName: string = 'example.txt';
Enfin, nous appellerons la méthode readFileSync()
avec les paramètres.
let fileContent = fs.readFileSync(fileName, 'utf8');
console.log(fileContent);
Le paramètre de type d’encodage doit être défini sur utf8
. Ensuite, la méthode renverra le contenu du fichier sous forme de chaîne.'
Sinon, le contenu du fichier est renvoyé sous forme de valeur de tampon.
Production:
Comme prévu, le contenu du fichier a été enregistré dans la console.
Utiliser la fonction readFile()
dans TypeScript
La méthode readFile()
peut lire un fichier système de manière asynchrone. Par conséquent, nous pouvons passer le paramètre de la fonction de rappel à cette fonction.
Importons le fs
et initialisons une variable pour contenir le chemin du fichier.
import * as fs from 'fs';
const fileName: string = 'example.txt';
Utilisez la méthode readFile
, comme illustré ci-dessous.
fs.readFile(fileName, 'utf8', (err, data)=> {
console.log(data);
});
Vous pouvez remarquer la même sortie que dans l’exemple précédent.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.