Arbeiten mit dem Dateisystem in TypeScript für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit dem Dateisystem in TypeScript

Die Arbeit mit dem Dateisystem ist eine der Kernaufgaben bei der Entwicklung mit TypeScript. Unabhängig davon, ob Sie eine Serveranwendung, ein Dienstprogramm zur Datenverarbeitung oder einen Webserver erstellen, müssen Sie auf jeden Fall Dateien und Verzeichnisse lesen, schreiben und verwalten. In dieser Anleitung behandeln wir die Grundlagen der Arbeit mit dem Modul fs (File System) in TypeScript, betrachten synchrone und asynchrone Operationen und lernen, wie man Fehler behandelt.

TypeScript ist eine streng typisierte Erweiterung von JavaScript, die statische Typisierung hinzufügt. Bei der Arbeit mit dem Dateisystem verwenden wir das Standard-Node.js-Modul fs, jedoch mit den zusätzlichen Vorteilen von TypeScript: Autovervollständigung, Typprüfung und verbesserte Lesbarkeit des Codes.



Projekteinrichtung und Import von Modulen

Bevor Sie beginnen, stellen Sie sicher, dass Node.js und TypeScript installiert sind. Erstellen Sie ein neues Projekt und installieren Sie die erforderlichen Typen:

mkdir fs-typescript-tutorialcd fs-typescript-tutorialnpm init -ynpm install typescript @types/node --save-devnpx tsc --init

Für die Arbeit mit dem Dateisystem benötigen wir zwei Hauptmodule:

  • fs — für Dateioperationen (Lesen, Schreiben, Löschen usw.)
  • path — für die komfortable Arbeit mit Pfaden (Verknüpfung, Normalisierung, Erweiterung ermitteln)

Wir importieren sie in unsere TypeScript-Datei:

import * as fs from 'fs';import * as path from 'path';

// Alternative Möglichkeit — nur die benötigten Funktionen importieren:import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';import { join, resolve } from 'path';

Beachten Sie: Wir verwenden import * as fs, da das Modul fs viele Funktionen exportiert. TypeScript übernimmt automatisch die Typen aus dem installierten Paket @types/node.



Lesen und Schreiben von Dateien

Beginnen wir mit den grundlegendsten Operationen — dem Lesen und Schreiben von Textdateien. In Node.js gibt es zwei Ansätze: synchron und asynchron. Für einfache Skripte und Dienstprogramme werden oft synchrone Methoden verwendet, für stark ausgelastete Server asynchrone, um den Event Loop nicht zu blockieren.



Synchrone Lese- und Schreiboperationen

Synchrone Methoden blockieren die Programmausführung, bis die Operation abgeschlossen ist. Sie sind einfach zu verwenden und eignen sich für Szenarien, in denen die Geschwindigkeit nicht kritisch ist:

import { readFileSync, writeFileSync } from 'fs';import { join } from 'path';

const filePath = join(__dirname, 'data.txt');

// In Datei schreiben (erstellt die Datei, falls sie nicht existiert)writeFileSync(filePath, 'Hallo, TypeScript!', 'utf-8');

// Aus Datei lesenconst content: string = readFileSync(filePath, 'utf-8');console.log(content); // Gibt aus: Hallo, TypeScript!

Beachten Sie die Typisierung content: string — TypeScript stellt sicher, dass wir einen String erhalten. Wenn die Datei nicht existiert, wird eine Ausnahme ausgelöst, die mit try/catch behandelt werden muss.



Asynchrone Lese- und Schreiboperationen

Asynchrone Methoden akzeptieren einen Callback oder geben ein Promise zurück (in modernen Versionen). Es wird empfohlen, die Promise-Versionen mit async/await zu verwenden:

import { promises as fsPromises } from 'fs';import { join } from 'path';

const filePath = join(__dirname, 'async-data.txt');

async function handleFile(): Promise<void> { try { // Asynchrones Schreiben await fsPromises.writeFile(filePath, 'Asynchroner Inhalt', 'utf-8'); // Asynchrones Lesen const data: string = await fsPromises.readFile(filePath, 'utf-8'); console.log(data); // Asynchroner Inhalt } catch (error) { console.error('Fehler bei der Dateiarbeit:', error); }}

handleFile();

Die Verwendung von async/await macht den Code ähnlich wie syn

Blogs

Buchempfehlungen