{"id":52387,"date":"2022-07-12T08:19:45","date_gmt":"2022-07-12T07:19:45","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=52387&#038;post_type=knowledgebase&#038;preview_id=52387"},"modified":"2025-10-01T20:18:18","modified_gmt":"2025-10-01T19:18:18","slug":"nodejs-fs","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/","title":{"rendered":"Das Node.js File System Modul (FS) verstehen"},"content":{"rendered":"<p>JavaScript ist seit langem eine der beliebtesten Skriptsprachen, aber f\u00fcr die serverseitige Entwicklung von Backend-Anwendungen war sie lange Zeit nicht die beste Wahl. Dann kam Node.js auf, mit dem sich serverseitige, ereignisgesteuerte, leichtgewichtige Anwendungen erstellen lassen, die auf der Programmiersprache JavaScript basieren.<\/p>\n<p><a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-node-js\/\" rel=\"noopener\">Node.js ist eine Open-Source-JavaScript-Laufzeitumgebung<\/a>, die kostenlos heruntergeladen und auf allen g\u00e4ngigen Betriebssystemen (Windows, Mac, Linux) installiert werden kann. Node.js ist in den letzten Jahren <a href=\"https:\/\/kinsta.com\/de\/blog\/node-js-apps\/\">bei App-Entwicklern immer beliebter<\/a> geworden und hat <a href=\"https:\/\/kinsta.com\/de\/blog\/node-js-entwicklern-gehalt\/\" rel=\"noopener\">viele neue Besch\u00e4ftigungsm\u00f6glichkeiten<\/a> f\u00fcr JavaScript-Entwickler\/innen geschaffen, die eine Spezialisierung suchen.<\/p>\n\n<p>In diesem Artikel werden wir lernen, wie man das Dateisystem mit Node.js verwaltet. Mit den Node.js-APIs kannst du m\u00fchelos mit dem Dateisystem interagieren und viele komplexe Operationen durchf\u00fchren. Wenn du wei\u00dft, wie du damit umgehst, wird deine Produktivit\u00e4t steigen.<\/p>\n<p>Lass uns eintauchen!<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Voraussetzungen f\u00fcr das Verst\u00e4ndnis des Node.js-Dateisystems<\/h2>\n<p>Die wichtigste Voraussetzung ist die Installation von Node.js auf deinem Betriebssystem. Da Node.js keine komplexe Hardware ben\u00f6tigt, kannst du <a href=\"https:\/\/kinsta.com\/de\/blog\/so-installierst-du-node-js\/\">Node.js einfach herunterladen und auf deinem Computer installieren<\/a>.<\/p>\n<p>Um mit Node.js-Modulen wie dem Dateisystem (auch &#8222;FS&#8220; oder &#8222;fs&#8220; genannt) arbeiten zu k\u00f6nnen, ist es hilfreich, wenn du auch <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-javascript\/\" rel=\"noopener\">Grundkenntnisse in JavaScript<\/a> hast. Ein grundlegendes Verst\u00e4ndnis von JavaScript-Funktionen, Callback-Funktionen und Promises wird dir helfen, <a href=\"https:\/\/kinsta.com\/de\/blog\/beste-programmiersprache-lernen-sollte\/#javascript\">dieses Thema noch schneller in den Griff zu bekommen<\/a>.<\/p>\n<h2>Node.js Dateisystem-Modul<\/h2>\n<p>Die Arbeit mit Dateien und Verzeichnissen geh\u00f6rt zu den Grundbed\u00fcrfnissen einer Full-Stack-Anwendung. Deine Nutzer\/innen wollen vielleicht Bilder, Lebensl\u00e4ufe oder andere Dateien auf einen Server hochladen. Gleichzeitig muss deine Anwendung vielleicht Konfigurationsdateien lesen, Dateien verschieben oder sogar ihre Berechtigungen programmatisch \u00e4ndern.<\/p>\n<p>Das Node.js-Dateisystemmodul deckt all diese Anforderungen ab. Es bietet mehrere APIs, um nahtlos mit den Dateisystemen zu interagieren. Die meisten APIs sind mit Optionen und Flags anpassbar. Au\u00dferdem kannst du mit ihnen sowohl synchrone als auch asynchrone Dateioperationen durchf\u00fchren.<\/p>\n<p>Bevor wir in das Dateisystemmodul eintauchen, werfen wir einen Blick darauf, was es mit dem Node.js-Modul auf sich hat.<\/p>\n<h3>Node.js-Module<\/h3>\n<p>Node.js-Module sind eine Reihe von Funktionen, die als APIs zur Verf\u00fcgung stehen und von einem Verbraucherprogramm genutzt werden k\u00f6nnen. So gibt es zum Beispiel das Modul <code>fs<\/code>, das mit dem Dateisystem interagiert. Ebenso nutzt ein <code>http<\/code> Modul seine Funktionen, um einen Server zu erstellen und viele weitere Operationen auszuf\u00fchren. Node.js bietet eine Vielzahl von Modulen, die viele Low-Level-Funktionen f\u00fcr dich abstrahieren.<\/p>\n<p>Du kannst auch deine eigenen Module erstellen. Ab Node.js Version 14 kannst du Node.js-Module auf zwei Arten erstellen und verwenden: CommonJS (CJS) und ESM (MJS) Module. Alle Beispiele, die wir in diesem Artikel sehen werden, sind im CJS-Stil gehalten.<\/p>\n<h2>Arbeiten mit Dateien in Node.js<\/h2>\n<p>Die Arbeit mit Dateien umfasst verschiedene Operationen mit Dateien und Verzeichnissen (Ordnern). Jetzt werden wir jeden dieser Vorg\u00e4nge anhand von Beispielen im Quellcode kennenlernen. Bitte \u00f6ffne deinen bevorzugten <a href=\"https:\/\/kinsta.com\/de\/blog\/code-review-tools\/\">Quellcode-Editor<\/a> und probiere sie aus, w\u00e4hrend du mitliest.<\/p>\n<p>Importiere zun\u00e4chst das Modul <code>fs<\/code> in deine Quelldatei, um mit den Methoden des Dateisystems arbeiten zu k\u00f6nnen. Im CJS-Stil verwenden wir die Methode <code>require<\/code>, um eine Methode aus einem Modul zu importieren. Um also die Methoden des Moduls fs zu importieren und zu verwenden, musst du Folgendes tun:<\/p>\n<pre><code class=\"language-js\">const { writeFile } = require('fs\/promises');<\/code><\/pre>\n<p>Beachte auch, dass wir die Methode <code>writeFile<\/code> aus dem Paket <code>fs\/promises<\/code> importieren. Wir wollen die promisified-Methoden verwenden, weil sie die neuesten sind und weil sie mit den async\/await-Schl\u00fcsselw\u00f6rtern und weniger Code einfach zu verwenden sind. Andere Alternativen sind die synchronen Methoden und die Callback-Funktionen, die wir sp\u00e4ter sehen werden.<\/p>\n<h3>Wie man eine Datei erstellt und in eine Datei schreibt<\/h3>\n<p>Du kannst eine Datei auf drei Arten erstellen und in sie schreiben:<\/p>\n<ol>\n<li>Verwendung der Methode <code>writeFile<\/code><\/li>\n<li>Verwendung der <code>appendFile<\/code> Methode<\/li>\n<li>Die Methode <code>openFile<\/code> verwenden<\/li>\n<\/ol>\n<p>Diese Methoden akzeptieren einen Dateipfad und die Daten als Inhalt, die in die Datei geschrieben werden sollen. Wenn die Datei existiert, ersetzen sie den Inhalt in der Datei. Andernfalls erstellen sie eine neue Datei mit dem Inhalt.<\/p>\n<h4>1. Verwendung der Methode writeFile<\/h4>\n<p>Der folgende Codeschnipsel zeigt die Verwendung der Methode <code>writeFile<\/code>. Beginne damit, eine Datei mit dem Namen <strong>createFile.js<\/strong> zu erstellen, indem du das folgende Snippet verwendest:<\/p>\n<pre><code class=\"language-js\">const { writeFile } = require('fs\/promises');\nasync function writeToFile(fileName, data) {\n  try {\n    await writeFile(fileName, data);\n    console.log(`Wrote data to ${fileName}`);\n  } catch (error) {\n    console.error(`Got an error trying to write the file: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Beachte, dass wir das Schl\u00fcsselwort <code>await<\/code> verwenden, um die Methode aufzurufen, da sie ein JavaScript-Versprechen zur\u00fcckgibt. Ein erfolgreiches Versprechen erstellt\/schreibt die Datei. Wir haben einen try-catch-Block, um Fehler zu behandeln, falls das Versprechen abgelehnt wird.<\/p>\n<p>Jetzt k\u00f6nnen wir die Funktion <code>writeToFile<\/code> aufrufen:<\/p>\n<pre><code class=\"language-js\">writeToFile('friends.txt', 'Bob');<\/code><\/pre>\n<p>Als N\u00e4chstes \u00f6ffnest du eine Eingabeaufforderung oder ein Terminal und f\u00fchrst das obige Programm mit folgendem Befehl aus:<\/p>\n<pre><code class=\"language-bash\">node createFile.js<\/code><\/pre>\n<p>Es erstellt eine neue Datei namens <strong>friends.txt<\/strong> mit einer Zeile, in der einfach steht:<\/p>\n<pre><code class=\"language-html\">Bob<\/code><\/pre>\n<h4>2. Verwenden der appendFile-Methode<\/h4>\n<p>Wie der Name schon sagt, wird diese Methode haupts\u00e4chlich zum Anh\u00e4ngen und Bearbeiten einer Datei verwendet. Du kannst dieselbe Methode aber auch verwenden, um eine Datei zu erstellen.<\/p>\n<p>Sieh dir die folgende Funktion an. Wir verwenden die Methode <code>appendFile<\/code> mit dem Flag <code>w<\/code>, um eine Datei zu schreiben. Das Standardflag f\u00fcr das Anh\u00e4ngen an eine Datei ist <code>a<\/code>:<\/p>\n<pre><code class=\"language-js\">const { appendFile} = require('fs\/promises');\n\nasync function appendToFile(fileName, data) {\n  try {\n    await appendFile(fileName, data, { flag: 'w' });\n    console.log(`Appended data to ${fileName}`);\n  } catch (error) {\n    console.error(`Got an error trying to append the file: {error.message}`);\n  }\n}<\/code><\/pre>\n<p>Jetzt kannst du die obige Funktion wie folgt aufrufen:<\/p>\n<pre><code class=\"language-js\">appendToFile('activities.txt', 'Skiing');<\/code><\/pre>\n<p>Als N\u00e4chstes kannst du den Code in der Node.js-Umgebung mit dem Befehl node ausf\u00fchren, wie wir bereits gesehen haben. Dadurch wird eine Datei namens <strong>activities.txt<\/strong> mit dem Inhalt <code>Skiing<\/code> erstellt.<\/p>\n<h4>3. Die Methode open verwenden<\/h4>\n<p>Die letzte Methode, die wir lernen werden, um eine Datei zu erstellen und in sie zu schreiben, ist die <code>open<\/code> Methode. Du kannst eine Datei mit dem Flag <code>w<\/code> (f\u00fcr &#8222;write&#8220;) \u00f6ffnen:<\/p>\n<pre><code class=\"language-js\">const { open} = require('fs\/promises');\n\nasync function openFile(fileName, data) {\n  try {\n    const file = await open(fileName, 'w');\n    await file.write(data);\n    console.log(`Opened file ${fileName}`);\n  } catch (error) {\n    console.error(`Got an error trying to open the file: {error.message}`);\n  }\n}<\/code><\/pre>\n<p>Rufe nun die Funktion <code>openFile<\/code> mit auf:<\/p>\n<pre><code class=\"language-js\">openFile('tasks.txt', 'Do homework');<\/code><\/pre>\n<p>Wenn du das Skript mit dem Befehl node ausf\u00fchrst, wird eine Datei namens <strong>tasks.txt<\/strong> mit dem urspr\u00fcnglichen Inhalt erstellt:<\/p>\n<pre><code class=\"language-html\">Do homework<\/code><\/pre>\n<h3>Wie man eine Datei liest<\/h3>\n<p>Nachdem wir nun wissen, wie man eine Datei erstellt und in sie schreibt, wollen wir nun lernen, wie man den Inhalt einer Datei liest. Dazu verwenden wir die Methode <code>readFile<\/code> aus dem Modul Dateisystem.<\/p>\n<p>Erstelle eine Datei namens <strong>readThisFile.js<\/strong> mit dem folgenden Code:<\/p>\n<pre><code class=\"language-js\">\/\/ readThisFile.js\nconst { readFile } = require('fs\/promises');\nasync function readThisFile(filePath) {\n  try {\n    const data = await readFile(filePath);\n    console.log(data.toString());\n  } catch (error) {\n    console.error(`Got an error trying to read the file: {error.message}`);\n }\n}<\/code><\/pre>\n<p>Jetzt lesen wir alle drei Dateien, die wir erstellt haben, indem wir die Funktion <code>readThisFile<\/code> aufrufen:<\/p>\n<pre><code class=\"language-js\">readThisFile('activities.txt');\nreadThisFile('friends.txt');\nreadThisFile('tasks.txt');<\/code><\/pre>\n<p>Zum Schluss f\u00fchrst du das Skript mit dem folgenden Node-Befehl aus:<\/p>\n<pre><code class=\"language-bash\">node readThisFile.js<\/code><\/pre>\n<p>Du solltest die folgende Ausgabe in der Konsole sehen:<\/p>\n<pre><code class=\"language-html\">Skiing\nDo homework\nBob<\/code><\/pre>\n<p>Ein Punkt, den du hier beachten solltest: Die Methode <code>readFile<\/code> liest die Datei asynchron. Das bedeutet, dass die Reihenfolge, in der du die Datei liest, und die Reihenfolge, in der du eine Antwort in der Konsole ausgeben l\u00e4sst, nicht unbedingt \u00fcbereinstimmen. Du musst die synchrone Version der Methode <code>readFile<\/code> verwenden, um die Reihenfolge einzuhalten. Das werden wir hier gleich sehen.<\/p>\n<h3>Wie man eine Datei umbenennt<\/h3>\n<p>Um eine Datei umzubenennen, verwendest du die Methode rename aus dem fs-Modul. Erstellen wir eine Datei namens <strong>rename-me.txt<\/strong>. Wir werden diese Datei programmatisch umbenennen.<\/p>\n<p>Erstelle eine Datei namens <strong>renameFile.js<\/strong> mit dem folgenden Code:<\/p>\n<pre><code class=\"language-js\">const { rename } = require('fs\/promises');\n\nasync function renameFile(from, to) {\n  try {\n    await rename(from, to);\n    console.log(`Renamed ${from} to ${to}`);\n  } catch (error) {\n    console.error(`Got an error trying to rename the file: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Wie du vielleicht bemerkt hast, ben\u00f6tigt die Methode rename zwei Argumente. Das eine ist die Datei mit dem Quellnamen und das andere ist der Zielname.<\/p>\n<p>Rufen wir nun die obige Funktion auf, um die Datei umzubenennen:<\/p>\n<pre><code class=\"language-js\">const oldName = \"rename-me.txt\";\nconst newName = \"renamed.txt\";\nrenameFile(oldName, newName);<\/code><\/pre>\n<p>Wie zuvor f\u00fchrst du die Skriptdatei mit dem Befehl node aus, um die Datei umzubenennen:<\/p>\n<pre><code class=\"language-bash\">node renameFile.js<\/code><\/pre>\n<h3>Wie man eine Datei verschiebt<\/h3>\n<p>Das Verschieben einer Datei von einem Verzeichnis in ein anderes ist \u00e4hnlich wie das Umbenennen des Pfades. Wir k\u00f6nnen also auch die Methode <code>rename<\/code> verwenden, um Dateien zu verschieben.<\/p>\n<p>Legen wir zwei Ordner an, <strong>von<\/strong> und <strong>nach<\/strong>. Dann erstellen wir eine Datei namens <strong>move-me.txt <\/strong>im <strong>from-Ordner<\/strong>.<\/p>\n<p>Als N\u00e4chstes schreiben wir den Code zum Verschieben der Datei <strong>move-me.txt<\/strong>. Erstelle eine Datei namens <strong>moveFile.js<\/strong> mit folgendem Codeausschnitt:<\/p>\n<pre><code class=\"language-js\">const { rename } = require('fs\/promises');\nconst { join } = require('path');\nasync function moveFile(from, to) {\n  try {\n    await rename(from, to);\n    console.log(`Moved ${from} to ${to}`);\n  } catch (error) {\n    console.error(`Got an error trying to move the file: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Wie du sehen kannst, verwenden wir die Methode <code>rename<\/code> genau wie zuvor. Aber warum m\u00fcssen wir die Methode <code>join<\/code> aus dem Modul <code>path<\/code> importieren (ja, der Pfad ist ein weiteres wichtiges Modul von Node.js)?<\/p>\n<p>Die Methode <code>join<\/code> wird verwendet, um mehrere angegebene Pfadsegmente zu einem Pfad zu verbinden. Wir werden sie verwenden, um den Pfad von Quell- und Zieldatei zu bilden:<\/p>\n<pre><code class=\"language-js\">const fromPath = join(__dirname, \"from\", \"move-me.txt\");\nconst destPath = join(__dirname, \"to\", \"move-me.txt\");\nmoveFile(fromPath, destPath);<\/code><\/pre>\n<p>Und das war&#8217;s! Wenn du das Skript <strong>moveFile.js<\/strong> ausf\u00fchrst, wirst du sehen, dass die Datei <strong>move-me.txt<\/strong> in den Ordner <strong>to<\/strong> verschoben wurde.<\/p>\n<h3>Wie man eine Datei kopiert<\/h3>\n<p>Wir verwenden die Methode <code>copyFile<\/code> aus dem Modul <code>fs<\/code>, um eine Datei von der Quelle zum Ziel zu kopieren.<\/p>\n<p>Sieh dir den folgenden Codeschnipsel an:<\/p>\n<pre><code class=\"language-js\">const { copyFile } = require('fs\/promises');\nconst { join } = require('path');\nasync function copyAFile(from, to) {\n  try {\n    await copyFile(from, to);\n    console.log(`Copied ${from} to ${to}`);\n  } catch (err) {\n    console.error(`Got an error trying to copy the file: ${err.message}`);\n  }\n}<\/code><\/pre>\n<p>Jetzt kannst du die obige Funktion mit aufrufen:<\/p>\n<pre><code class=\"language-js\">copyAFile('friends.txt', 'friends-copy.txt');<\/code><\/pre>\n<p>Sie kopiert den Inhalt der <strong>friends.txt<\/strong> in die Datei <strong>friends-copy.txt<\/strong>.<\/p>\n<p>Das ist toll, aber wie kopiert man mehrere Dateien?<\/p>\n<p>Du kannst die <code>Promise.all<\/code> API verwenden, um mehrere Versprechen parallel auszuf\u00fchren:<\/p>\n<pre><code class=\"language-js\">async function copyAll(fromDir, toDir, filePaths) {\n  return Promise.all(filePaths.map(filePath =&gt; {\n   return copyAFile(join(fromDir, filePath), join(toDir, filePath));\n  }));\n}<\/code><\/pre>\n<p>Jetzt kannst du alle Dateipfade angeben, die von einem Verzeichnis in ein anderes kopiert werden sollen:<\/p>\n<pre><code class=\"language-js\">copyFiles('from', 'to', ['copyA.txt', 'copyB.txt']);<\/code><\/pre>\n<p>Du kannst diesen Ansatz auch nutzen, um andere Operationen wie das Verschieben, Schreiben und Lesen von Dateien parallel durchzuf\u00fchren zu k\u00f6nnen.<\/p>\n<h3>Wie man eine Datei l\u00f6scht<\/h3>\n<p>Wir verwenden die Methode <code>unlink<\/code>, um eine Datei zu l\u00f6schen:<\/p>\n<pre><code class=\"language-js\">const { unlink } = require('fs\/promises');\nasync function deleteFile(filePath) {\n  try {\n    await unlink(filePath);\n    console.log(`Deleted ${filePath}`);\n  } catch (error) {\n    console.error(`Got an error trying to delete the file: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Denke daran, dass du den Pfad zu der Datei angeben musst, um sie zu l\u00f6schen:<\/p>\n<pre><code class=\"language-js\">deleteFile('delete-me.txt');<\/code><\/pre>\n<p>Wenn es sich bei dem Pfad um einen Symlink zu einer anderen Datei handelt, hebt die unlink-Methode den Symlink auf, aber die urspr\u00fcngliche Datei bleibt unangetastet. Wir werden sp\u00e4ter noch mehr \u00fcber Symlinks sprechen.<\/p>\n<h3>So \u00e4nderst du Dateiberechtigungen und -eigentum<\/h3>\n<p>Es kann vorkommen, dass du die Dateiberechtigungen programmgesteuert \u00e4ndern m\u00f6chtest. Das kann sehr hilfreich sein, um eine Datei schreibgesch\u00fctzt oder vollst\u00e4ndig zug\u00e4nglich zu machen.<\/p>\n<p>Wir werden die Methode <code>chmod<\/code> verwenden, um die Berechtigung einer Datei zu \u00e4ndern:<\/p>\n<pre><code class=\"language-js\">const { chmod } = require('fs\/promises');\nasync function changePermission(filePath, permission) {\n  try {\n    await chmod(filePath, permission);\n    console.log(`Changed permission to ${permission} for ${filePath}`);\n  } catch (error) {\n    console.error(`Got an error trying to change permission: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Wir k\u00f6nnen den Dateipfad und die Erlaubnis-Bitmaske \u00fcbergeben, um die Erlaubnis zu \u00e4ndern.<\/p>\n<p>Hier ist der Funktionsaufruf, um die Berechtigung einer Datei auf schreibgesch\u00fctzt zu \u00e4ndern:<\/p>\n<pre><code class=\"language-js\">changePermission('permission.txt', 0o400);<\/code><\/pre>\n<p>\u00c4hnlich wie die Berechtigung kannst du auch den Eigent\u00fcmer einer Datei programmatisch \u00e4ndern. Wir verwenden dazu die Methode <code>chown<\/code>:<\/p>\n<pre><code class=\"language-js\">const { chown } = require('fs\/promises');\n\nasync function changeOwnership(filePath, userId, groupId) {\n  try {\n    await chown(filePath, userId, groupId);\n    console.log(`Changed ownership to ${userId}:${groupId} for ${filePath}`);\n  } catch (error) {\n    console.error(`Got an error trying to change ownership: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Dann rufen wir die Funktion mit dem Dateipfad, der Benutzer-ID und der Gruppen-ID auf:<\/p>\n<pre><code class=\"language-js\">changeOwnership('ownership.txt', 1000, 1010);<\/code><\/pre>\n<h3>Wie man einen Symlink erstellt<\/h3>\n<p>Der <a href=\"https:\/\/kinsta.com\/blog\/managing-wordpress-development-with-symlinks\/\" rel=\"noopener\">symbolische Link (auch Symlink genannt)<\/a> ist ein Konzept des Dateisystems, um einen Link zu einer Datei oder einem Ordner zu erstellen. Wir erstellen Symlinks, um Verkn\u00fcpfungen zu einer Zieldatei\/einem Zielordner im Dateisystem zu erstellen. Das Node.js-Modul <code>filesystem<\/code> bietet die Methode <code>symlink<\/code>, um einen symbolischen Link zu erstellen.<\/p>\n<p>Um den Symlink zu erstellen, m\u00fcssen wir den Pfad der Zieldatei, den aktuellen Dateipfad und den Typ \u00fcbergeben:<\/p>\n<pre><code class=\"language-js\">const { symlink } = require('fs\/promises');\nconst { join } = require('path');\nasync function createSymlink(target, path, type) {\n  try {\n    await symlink(target, path, type);\n    console.log(`Created symlink to ${target} at ${path}`);\n  } catch (error) {\n    console.error(`Got an error trying to create the symlink: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Wir k\u00f6nnen die Funktion mit aufrufen:<\/p>\n<pre><code class=\"language-js\">createSymlink('join(__dirname, from, symMe.txt)', 'symToFile', 'file');<\/code><\/pre>\n<p>Hier haben wir einen Symlink namens <code>symToFile<\/code> erstellt.<\/p>\n<h3>Wie man \u00c4nderungen an einer Datei beobachtet<\/h3>\n<p>Wusstest du, dass du die \u00c4nderungen an einer Datei beobachten kannst? Das ist eine gro\u00dfartige M\u00f6glichkeit, um \u00c4nderungen und Ereignisse zu \u00fcberwachen, besonders wenn du sie nicht erwartest. Du kannst sie aufzeichnen und f\u00fcr sp\u00e4tere \u00dcberpr\u00fcfungen aufzeichnen.<\/p>\n<p>Die Methode <code>watch<\/code> ist die beste Methode, um Dateiver\u00e4nderungen zu beobachten. Es gibt eine alternative Methode namens <code>watchFile<\/code>, aber sie ist nicht so leistungsf\u00e4hig wie die Methode <code>watch<\/code>.<\/p>\n<p>Bisher haben wir die Methode des Dateisystemmoduls mit den Schl\u00fcsselw\u00f6rtern async\/await verwendet. In diesem Beispiel werden wir sehen, wie die Callback-Funktion verwendet wird.<\/p>\n<p>Die Methode <code>watch<\/code> nimmt den Dateipfad und eine Callback-Funktion als Argumente entgegen. Immer, wenn eine Aktivit\u00e4t in der Datei stattfindet, wird die Funktion <code>callback<\/code> aufgerufen.<\/p>\n<p>Wir k\u00f6nnen den Parameter <code>event<\/code> nutzen, um weitere Informationen \u00fcber die Aktivit\u00e4ten zu erhalten:<\/p>\n<pre><code class=\"language-js\">const fs = require('fs');\nfunction watchAFile(file) {\n  fs.watch(file, (event, filename) =&gt; {\n    console.log(`${filename} file Changed`);\n  });\n}<\/code><\/pre>\n<p>Rufe die Funktion auf, indem du einen Dateinamen an <code>watch<\/code> \u00fcbergibst:<\/p>\n<pre><code class=\"language-js\">watchAFile('friends.txt');<\/code><\/pre>\n<p>Jetzt erfassen wir automatisch alle Aktivit\u00e4ten in der Datei <strong>friends.txt<\/strong>.<\/p>\n<h2>Arbeiten mit Verzeichnissen (Ordnern) in Node.js<\/h2>\n<p>Jetzt wollen wir rausfinden, wie wir mit Verzeichnissen oder Ordnern arbeiten k\u00f6nnen. Viele der Operationen wie Umbenennen, Verschieben und Kopieren \u00e4hneln den Operationen, die wir f\u00fcr Dateien kennen. Bestimmte Methoden und Operationen sind jedoch nur f\u00fcr Verzeichnisse anwendbar.<\/p>\n<h3>Wie man ein Verzeichnis erstellt<\/h3>\n<p>Wir verwenden die Methode <code>mkdir<\/code>, um ein Verzeichnis zu erstellen. Du musst den Verzeichnisnamen als Argument \u00fcbergeben:<\/p>\n<pre><code class=\"language-js\">const { mkdir } = require('fs\/promises');\nasync function createDirectory(path) {\n  try {\n    await mkdir(path);\n    console.log(`Created directory ${path}`);\n  } catch (error) {\n    console.error(`Got an error trying to create the directory: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Jetzt k\u00f6nnen wir die Funktion <code>createDirectory<\/code> mit einem Verzeichnispfad aufrufen:<\/p>\n<pre><code class=\"language-js\">createDirectory('new-directory');<\/code><\/pre>\n<p>Dadurch wird ein Verzeichnis namens <strong>new-directory<\/strong> erstellt.<\/p>\n<h3>Wie man ein tempor\u00e4res Verzeichnis erstellt<\/h3>\n<p>Tempor\u00e4re Verzeichnisse sind keine normalen Verzeichnisse. Sie haben eine besondere Bedeutung f\u00fcr das Betriebssystem. Du kannst ein tempor\u00e4res Verzeichnis mit der Methode <code>mkdtemp()<\/code> erstellen.<\/p>\n<p>Lass uns einen tempor\u00e4ren Ordner im tempor\u00e4ren Verzeichnis deines Betriebssystems erstellen. Die Informationen f\u00fcr den Speicherort des tempor\u00e4ren Verzeichnisses erhalten wir von der Methode <code>tmpdir()<\/code> des Moduls <code>os<\/code>:<\/p>\n<pre><code class=\"language-js\">const { mkdtemp } = require('fs\/promises');\nconst { join } = require('path');\nconst { tmpdir } = require('os');\nasync function createTemporaryDirectory(fileName) {\n  try {\n    const tempDirectory = await mkdtemp(join(tmpdir(), fileName));\n    console.log(`Created temporary directory ${tempDirectory}`);\n  } catch (error) {\n    console.error(`Got an error trying to create the temporary directory: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Rufen wir nun die Funktion mit dem Verzeichnisnamen auf, um es zu erstellen:<\/p>\n<pre><code class=\"language-js\">createTemporaryDirectory('node-temp-file-');<\/code><\/pre>\n<p>Beachte, dass Node.js sechs zuf\u00e4llige Zeichen am Ende des erstellten tempor\u00e4ren Ordnernamens anh\u00e4ngt, um ihn eindeutig zu halten.<\/p>\n<h3>Wie man ein Verzeichnis l\u00f6scht<\/h3>\n<p>Du musst die Methode <code>rmdir()<\/code> verwenden, um ein Verzeichnis zu l\u00f6schen:<\/p>\n<pre><code class=\"language-js\">const { rmdir } = require('fs\/promises');\nasync function deleteDirectory(path) {\n  try {\n    await rmdir(path);\n    console.log(`Deleted directory ${path}`);\n  } catch (error) {\n    console.error(`Got an error trying to delete the directory: ${error.message}`);\n  }\n}<\/code><\/pre>\n<p>Als N\u00e4chstes rufst du die oben genannte Funktion auf und \u00fcbergibst den Pfad des Ordners, den du l\u00f6schen m\u00f6chtest:<\/p>\n<pre><code class=\"language-js\">deleteDirectory('new-directory-renamed');<\/code><\/pre>\n<h2>Synchrone vs. asynchrone APIs<\/h2>\n<p>Bis jetzt haben wir viele Beispiele f\u00fcr Dateisystemmethoden gesehen, die alle asynchron verwendet werden. Es kann jedoch sein, dass du einige Vorg\u00e4nge synchron abwickeln musst.<\/p>\n<p>Ein Beispiel f\u00fcr eine synchrone Operation ist das Lesen mehrerer Dateien nacheinander. Das Modul <code>fs<\/code> verf\u00fcgt \u00fcber eine Methode namens <code>readFileSync()<\/code>, die dies erm\u00f6glicht:<\/p>\n<pre><code class=\"language-js\">const { readFileSync } = require('fs');\nfunction readFileSynchronously(path) {\n  try {\n    const data = readFileSync(path);\n    console.log(data.toString());\n  } catch (error) {\n    console.error(error);\n  }\n}<\/code><\/pre>\n<p>Beachte, dass die Methode <code>readFileSync()<\/code> aus dem Paket &#8222;fs\/promises&#8220; nicht ben\u00f6tigt wird. Das liegt daran, dass die Methode nicht asynchron ist. Du kannst die obige Funktion also mit aufrufen:<\/p>\n<pre><code class=\"language-js\">readFileSynchronously('activities.txt');\nreadFileSynchronously('friends.txt');\nreadFileSynchronously('tasks.txt');<\/code><\/pre>\n<p>In diesem Fall werden alle oben genannten Dateien in der Reihenfolge gelesen, in der die Funktionen aufgerufen wurden.<\/p>\n<p>Das Node.js-Dateisystemmodul bietet eine synchrone Methode f\u00fcr andere Operationen wie die Leseoperation. Verwende sie mit Bedacht und nur bei Bedarf. Die asynchronen Methoden sind f\u00fcr die parallele Ausf\u00fchrung viel hilfreicher.<\/p>\n<h2>Umgang mit Fehlern<\/h2>\n<p>Wie jeder Programmierer wei\u00df, musst du <a href=\"https:\/\/kinsta.com\/de\/blog\/fehlern-in-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">mit Fehlern rechnen und darauf vorbereitet sein, sie zu beheben<\/a>, wenn du eine Datei- oder Verzeichnisoperation ausf\u00fchrst. Was ist, wenn die Datei nicht gefunden wird oder du keine Berechtigung hast, in eine Datei zu schreiben? Es kann (und wird wahrscheinlich) viele F\u00e4lle geben, in denen du auf einen Fehler sto\u00dfen k\u00f6nntest.<\/p>\n<p>Du solltest deine Methodenaufrufe immer mit einem try-catch-Block umgeben. Wenn ein Fehler auftritt, geht die Kontrolle an den catch-Block \u00fcber, wo du den Fehler \u00fcberpr\u00fcfen und behandeln kannst. Wie du vielleicht in den obigen Beispielen bemerkt hast, haben wir den try-catch-Block f\u00fcr die Behandlung von Fehlern verwendet, auf die wir gesto\u00dfen sind.<\/p>\n\n<h2>Zusammenfassung<\/h2>\n<p>Lass uns noch einmal die wichtigsten Punkte dieses Tutorials durchgehen:<\/p>\n<ul>\n<li>Das Node.js Dateisystem (fs) Modul hat viele Methoden, die dir bei vielen Low-Level Aufgaben helfen.<\/li>\n<li>Du kannst verschiedene Dateioperationen wie Erstellen, Schreiben, Umbenennen, Kopieren, Verschieben, L\u00f6schen und viele mehr durchf\u00fchren.<\/li>\n<li>Du kannst verschiedene Verzeichnisoperationen durchf\u00fchren, z. B. ein tempor\u00e4res Verzeichnis erstellen, verschieben und vieles mehr.<\/li>\n<li>Alle Methoden k\u00f6nnen asynchron mit JavaScript-Versprechen oder Callback-Funktionen aufgerufen werden.<\/li>\n<li>Bei Bedarf kannst du die Methoden auch synchron aufrufen.<\/li>\n<li>Ziehe die asynchronen Methoden immer den synchronen vor.<\/li>\n<li>Behandle Fehler mit einem try-catch-Block, wenn du mit den Methoden interagierst.<\/li>\n<\/ul>\n<p>Jetzt, wo wir ein bisschen mit dem Node.js-Dateisystem gearbeitet haben, solltest du es gut im Griff haben. Wenn du dein Wissen weiter ausbauen willst, solltest du dich mit den <a href=\"https:\/\/nodejs.org\/api\/stream.html\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js-Streams<\/a> besch\u00e4ftigen, um die Node.js-Module kennenzulernen. Streams sind effiziente Methoden, um Informationen auszutauschen, z. B. Netzwerkaufrufe, Lesen und Schreiben von Dateien und vieles mehr.<\/p>\n<p>Den gesamten Quellcode, der in diesem Artikel verwendet wird, findest du in <a href=\"https:\/\/github.com\/atapas\/nodeX\/tree\/main\/fs-module\" target=\"_blank\" rel=\"noopener noreferrer\">diesem GitHub Repository<\/a>.<\/p>\n<p>Planst du, Node.js f\u00fcr dein n\u00e4chstes Projekt zu verwenden? Lass uns in den Kommentaren wissen, warum du dich daf\u00fcr entschieden hast.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript ist seit langem eine der beliebtesten Skriptsprachen, aber f\u00fcr die serverseitige Entwicklung von Backend-Anwendungen war sie lange Zeit nicht die beste Wahl. Dann kam Node.js &#8230;<\/p>\n","protected":false},"author":242,"featured_media":52962,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[465,445,466,782],"topic":[951,965],"class_list":["post-52387","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-javascript","tag-javascript-frameworks","tag-node-js","tag-npm","topic-javascript-frameworks","topic-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Das Node.js File System Modul (FS) verstehen<\/title>\n<meta name=\"description\" content=\"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Das Node.js File System Modul (FS) verstehen\" \/>\n<meta property=\"og:description\" content=\"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-12T07:19:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:18:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tapas Adhikary\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tapas Adhikary\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\"},\"author\":{\"name\":\"Tapas Adhikary\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/cbf8d294c77f2e4e63a847227b8b676f\"},\"headline\":\"Das Node.js File System Modul (FS) verstehen\",\"datePublished\":\"2022-07-12T07:19:45+00:00\",\"dateModified\":\"2025-10-01T19:18:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\"},\"wordCount\":2612,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\",\"keywords\":[\"JavaScript\",\"JavaScript Frameworks\",\"node.js\",\"npm\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\",\"name\":\"Das Node.js File System Modul (FS) verstehen\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\",\"datePublished\":\"2022-07-12T07:19:45+00:00\",\"dateModified\":\"2025-10-01T19:18:18+00:00\",\"description\":\"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"Das Node.js File System Modul (FS) verstehen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Das Node.js File System Modul (FS) verstehen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/cbf8d294c77f2e4e63a847227b8b676f\",\"name\":\"Tapas Adhikary\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9665271e577fe06eec74cdff7372f6d3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9665271e577fe06eec74cdff7372f6d3?s=96&d=mm&r=g\",\"caption\":\"Tapas Adhikary\"},\"description\":\"Tapas Adhikary is a technology blogger, YouTuber, and mentor. He has published over 250 articles sharing his decade's worth of knowledge and experience. He's a passionate contributor to and maintainer of open-source projects.\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/tapasadhikary\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Das Node.js File System Modul (FS) verstehen","description":"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/","og_locale":"de_DE","og_type":"article","og_title":"Das Node.js File System Modul (FS) verstehen","og_description":"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.","og_url":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2022-07-12T07:19:45+00:00","article_modified_time":"2025-10-01T19:18:18+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","type":"image\/jpeg"}],"author":"Tapas Adhikary","twitter_card":"summary_large_image","twitter_description":"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","twitter_creator":"@Kinsta_DE","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Tapas Adhikary","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/"},"author":{"name":"Tapas Adhikary","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/cbf8d294c77f2e4e63a847227b8b676f"},"headline":"Das Node.js File System Modul (FS) verstehen","datePublished":"2022-07-12T07:19:45+00:00","dateModified":"2025-10-01T19:18:18+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/"},"wordCount":2612,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","keywords":["JavaScript","JavaScript Frameworks","node.js","npm"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/","url":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/","name":"Das Node.js File System Modul (FS) verstehen","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","datePublished":"2022-07-12T07:19:45+00:00","dateModified":"2025-10-01T19:18:18+00:00","description":"Hast du Probleme mit dem Dateisystem-Modul von Node.js? In diesen Beispielen erf\u00e4hrst du, wie die APIs des Moduls dir helfen, Dateien und Verzeichnisse zu nutzen.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/07\/nodejs-fs.jpeg","width":1460,"height":730,"caption":"Das Node.js File System Modul (FS) verstehen"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/nodejs-fs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/de\/thema\/node-js\/"},{"@type":"ListItem","position":3,"name":"Das Node.js File System Modul (FS) verstehen"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/cbf8d294c77f2e4e63a847227b8b676f","name":"Tapas Adhikary","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9665271e577fe06eec74cdff7372f6d3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9665271e577fe06eec74cdff7372f6d3?s=96&d=mm&r=g","caption":"Tapas Adhikary"},"description":"Tapas Adhikary is a technology blogger, YouTuber, and mentor. He has published over 250 articles sharing his decade's worth of knowledge and experience. He's a passionate contributor to and maintainer of open-source projects.","url":"https:\/\/kinsta.com\/de\/blog\/author\/tapasadhikary\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/52387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/242"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=52387"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/52387\/revisions"}],"predecessor-version":[{"id":52965,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/52387\/revisions\/52965"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/translations\/es"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/52387\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/52962"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=52387"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=52387"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=52387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}