Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie verwendet Node.js das Dateisystemmodul? Einführung in häufig verwendete FS-Modulmethoden

青灯夜游
Freigeben: 2021-08-24 09:37:09
nach vorne
2738 Leute haben es durchsucht

Dieser Artikel führt Sie durch das Dateisystemmodul in Node.js, stellt die Verwendung des Dateisystemmoduls (FS-Modul) vor und stellt einige der gebräuchlichsten und nützlichsten FS-Methoden vor.

Wie verwendet Node.js das Dateisystemmodul? Einführung in häufig verwendete FS-Modulmethoden

Das Dateisystemmodul (kurz fs) ermöglicht uns den Zugriff auf das Dateisystem auf unserem Computer und die Interaktion mit diesem. [Empfohlenes Lernen: „nodejs Tutorialfs)允许我们访问计算机上的文件系统并与之交互。【推荐学习:《nodejs 教程》】

使用 fs 模块,我们可以执行以下操作:

  • 创建文件和目录
  • 修改文件和目录
  • 删除文件和目录
  • 读取文件和目录的内容
  • ...

建议:文件系统模块比较复杂,建议查看官方文档,你可以看到所有的方法。

本文将向您介绍最常见和最有用的 fs 方法。事不宜迟,让我们看看这些方法是什么。

如何使用 fs

文件系统模块是一个核心的 Node.js 模块。这意味着我们不必安装它。我们唯一需要做的就是将 fs 模块导入到自己的文件中。

因此,在文件顶部添加:

const fs = require('fs')
Nach dem Login kopieren

现在,我们可以使用前缀 fs 从文件系统模块调用任何方法。

或者,我们可以只从 fs API 导入所需的方法,如下所示:

const { writeFile, readFile } = require('fs')
Nach dem Login kopieren

注意:为了方便起见,我们还需要导入 path 模块。它是另一个核心 Node.js 模块,它允许我们使用文件和目录路径。

导入 fs 模块后,在文件中添加:

const path = require('path')
Nach dem Login kopieren

使用文件系统模块时,path 模块不是必需的。但它对我们有很大的帮助!

同步与异步

需要注意的是,默认情况下,所有 fs 方法都是异步的。但是,我们可以通过在方法末尾添加 Sync 来使用同步版本。

例如,writeFile 方法的同步版本为 writeFileSync。同步方法将同步的完成代码,因此它们阻塞了主线程。阻塞 Node.js 中的主线程被认为是不好的做法,我们不应该这么做。

因此,以下我们都将使用文件系统模块中的异步方法。

写入文件

要从 Node.js 应用程序写入文件,请使用 writeFile 方法。

writeFile 方法至少接受以下参数:

  • 文件名
  • 内容
  • 回调

如果指定的文件已经存在,它会将旧内容替换为您作为参数提供的内容。如果指定的文件不存在,则创建一个新文件。

导入 fspath 模块后,在文件中编写以下代码:

fs.writeFile('content.txt', 'All work and no play makes Jack a dull boy!', err => {
  if (err) throw err

  process.stdout.write('创建成功!')
})
Nach dem Login kopieren

上面的代码将创建了一个名为 content.txt 的新文件,并添加了文本 All work and no play makes Jack a dull boy! 作为内容。如果存在任何错误,回调函数将抛出该错误。否则,它将向控制台输出文件创建成功。

writeFile 还有其他变体,例如:

  • fs.writeFileSync — 同步写入文件
  • fsPromises.writeFile — 使用基于 Promise 的 API 写入文件

查看此要点:https://gist.github.com/catalinpit/571ba06c06214b5c8744036c6500af92

从文件中读取

在读取文件之前,需要创建并存储文件的路径。path 模块的路径在这里很方便。

使用 join 模块中的 path 方法,您可以创建文件路径,如下所示:

const filePath = path.join(process.cwd(), 'content.txt')
Nach dem Login kopieren

第一个参数 process.cwd() 返回当前工作目录。现在您已经有了文件路径,可以读取文件的内容了。

在文件中编写以下代码:

fs.readFile(filePath, (error, content) => {
  if (error) throw error

  process.stdout.write(content)
})
Nach dem Login kopieren

readFile 方法至少接受两个参数:

  • 文件的路径
  • 回调

如果有错误,它会抛出一个错误。否则,它会在终端中输出文件内容。

readFile 还有其他变体,例如:

  • fs.readFileSync — 同步写入文件
  • fsPromises.readFile"]
Verwenden Sie fs-Modul können wir die folgenden Vorgänge ausführen:
🎜Dieser Artikel stellt Ihnen die gebräuchlichsten und nützlichsten fs-Methoden vor. Lassen Sie uns ohne weitere Umschweife sehen, was diese Methoden sind. 🎜

So verwenden Sie fs

🎜Das Dateisystemmodul ist ein Kernmodul von Node.js. Das bedeutet, dass wir es nicht installieren müssen. Das Einzige, was wir tun müssen, ist, das fs-Modul in eine eigene Datei zu importieren. 🎜🎜Also am Anfang der Datei hinzufügen: 🎜
fs.readdir(process.cwd(), (error, files) => {
  if (error) throw error

  console.log(files)
})
Nach dem Login kopieren
Nach dem Login kopieren
🎜 Jetzt können wir jede Methode aus dem Dateisystemmodul mit dem Präfix fs aufrufen. 🎜🎜Alternativ können wir die erforderlichen Methoden einfach wie folgt aus der fs-API importieren: 🎜
fs.unlink(filePath, error => {
  if (error) throw error

  console.log('文件已删除!')
})
Nach dem Login kopieren
Nach dem Login kopieren
🎜🎜HINWEIS: Der Einfachheit halber müssen wir auch den pfad importieren Modul. Es ist ein weiteres Kernmodul von Node.js, das es uns ermöglicht, mit Datei- und Verzeichnispfaden zu arbeiten. 🎜🎜Fügen Sie nach dem Importieren des fs-Moduls Folgendes in die Datei ein: 🎜
fs.mkdir(`${process.cwd()}/myFolder/secondFolder`, { recursive: true }, (err) => {
  if (err) throw err

  console.log('已成功创建文件夹!')
})
Nach dem Login kopieren
Nach dem Login kopieren
🎜Das path-Modul ist bei Verwendung des Dateisystemmoduls nicht erforderlich. Aber es hilft uns sehr! 🎜

Synchronisation und asynchron

🎜Es ist zu beachten, dass standardmäßig alle fs-Methoden asynchron sind . Wir können jedoch die synchronisierte Version verwenden, indem wir am Ende der Methode Sync hinzufügen. 🎜🎜Zum Beispiel ist die synchrone Version der Methode writeFile writeFileSync. Synchrone Methoden vervollständigen den Code synchron, sodass sie den Hauptthread blockieren. Das Blockieren des Hauptthreads in Node.js gilt als schlechte Praxis und sollte nicht getan werden. 🎜🎜Im Folgenden werden wir alle die asynchronen Methoden im Dateisystemmodul verwenden. 🎜

Datei schreiben

🎜Um eine Datei aus einer Node.js-Anwendung zu schreiben, verwenden Sie die Methode writeFile. 🎜🎜writeFile-Methode akzeptiert mindestens die folgenden Parameter: 🎜
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!