Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen

青灯夜游
Freigeben: 2022-04-24 21:00:45
nach vorne
2378 Leute haben es durchsucht

Dieser Artikel führt Sie durch das fs-Dateisystemmodul und das Pfadmodul in node. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen

fs-Dateisystemmodul

fs-Modul ist ein offizielles Modul, das von Node.js für den Betrieb von Dateien bereitgestellt wird. Es bietet eine Reihe von Methoden und Eigenschaften, um die Dateioperationsanforderungen der Benutzer zu erfüllen.

  • fs.readFile()-Methode, die zum Lesen des Inhalts der angegebenen Datei verwendet wird.
  • fs.writeFile()-Methode, die zum Schreiben des Inhalts in die angegebene Datei verwendet wird. Wenn Sie in JavaScript-Code arbeiten möchten, verwenden Sie die Methode fs Moduldatei müssen Sie sie zuerst mit der folgenden Methode importieren:
 const fs = reuire('fs')
Nach dem Login kopieren

Lesen Sie den Inhalt in der angegebenen Datei

1 Das Syntaxformat von fs.readFile()

Verwenden Sie die Datei fs. Mit der Methode readFile() können Sie den Inhalt der angegebenen Datei lesen. Das Syntaxformat lautet wie folgt:

 fs.readFile(path[, options], callback)
Nach dem Login kopieren
  • Parameter 1: Erforderlicher Parameter, Sie müssen eine Zeichenfolge mit dem Dateipfad angeben, der angibt, welcher Pfad der Datei entspricht gelesen werden.
  • Parameter 2: Optionaler Parameter, der das Codierungsformat zum Lesen der Datei angibt.
  • Parameter 3: Erforderlicher Parameter Nach Abschluss des Dateilesens wird das Leseergebnis über die Rückruffunktion abgerufen.

2. Beispielcode von fs.readFile()

Lesen Sie den Inhalt der angegebenen Datei im utf8-Format und drucken Sie die Werte von err und data:

 const fs = require('fs');
 fs.readFile('hello.txt', 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });
Nach dem Login kopieren

Inhalt in die angegebene Datei schreiben

1. Das Syntaxformat von fs.writeFile()

Verwenden Sie die Methode fs.writeFile(), um Inhalte in die angegebene Datei zu schreiben:

 fs.writeFile(file, data[, options], callback)
Nach dem Login kopieren
  • Parameter 1: Erforderlich Parameter: Sie müssen eine Zeichenfolge mit dem Dateipfad angeben, die den Speicherpfad der Datei angibt.
  • Parameter 2: Erforderlicher Parameter, der den zu schreibenden Inhalt angibt.
  • Parameter 3: Optionaler Parameter, der das Format angibt, in das der Dateiinhalt geschrieben werden soll. Der Standardwert ist utf8.
  • Parameter 4: Erforderlicher Parameter, Rückruffunktion nach Abschluss des Dateischreibens.

2. Beispielcode von fs.writeFile()

 const fs = require('fs');
 fs.writeFile('./hello.txt', 'hello node', (err) => {
     // 判断是否写入成功
     if (err) return console.log(err);
     console.log('写入成功');
 });
Nach dem Login kopieren

Lesen Sie die Namen aller Dateien im angegebenen Verzeichnis

1. Das Syntaxformat von fs.readdir()

Verwenden Sie fs. Die Methode readdir() kann die Namen aller Dateien im angegebenen Verzeichnis lesen. Das Syntaxformat ist wie folgt:

 fs.readdir(path[, options], callback)
Nach dem Login kopieren
  • Parameter 1: Erforderlicher Parameter, der angibt, welches Verzeichnis die Dateinamenliste lesen soll.
  • Parameter 2: Optionaler Parameter, in welchem ​​Format der Dateiname im Verzeichnis gelesen werden soll, der Standardwert ist utf8.
  • Parameter 3: Erforderlicher Parameter, Rückruffunktion nach Abschluss des Lesevorgangs. 2.fs.readdir() Beispielcode

Wenn Sie das fs-Modul zum Bearbeiten von Dateien verwenden und der bereitgestellte Operationspfad ein relativer Pfad ist, der mit ./ oder ../ beginnt, kann es leicht zu Fehlern beim dynamischen Pfadspleißen kommen. Dies liegt daran, dass beim Ausführen des Codes der vollständige Pfad der ausgeführten Datei dynamisch aus dem Verzeichnis gespleißt wird, in dem der Knotenbefehl ausgeführt wird.

Lösung: Wenn Sie das fs-Modul zum Bearbeiten von Dateien verwenden, geben Sie absolute Pfade direkt an und geben Sie keine relativen Pfade an, die mit ./ oder ../ beginnen, um Probleme beim dynamischen Pfadspleißen zu vermeiden.

Hinweis: Verwenden Sie __dirname, um den absoluten Pfad der aktuellen Datei abzurufen. Es bietet eine Reihe von Methoden und Attributen, um den Anforderungen der Benutzer an die Pfadverarbeitung gerecht zu werden.

path.join()-Methode, die zum Zusammenfügen mehrerer Pfadfragmente zu einer vollständigen Pfadzeichenfolge verwendet wird path.basename()-Methode, die zum Parsen des Dateinamens aus der Pfadzeichenfolge verwendet wird

Wenn Sie den Pfad verwenden möchten Um Pfade in JavaScript-Code zu verarbeiten, müssen Sie es zuerst auf folgende Weise importieren:

 const fs = require('fs');
 fs.readdir('./', (err, data) => {
     // 错误处理
     if (err) return console.log(err);
     console.log(data);
 });
Nach dem Login kopieren

Pfadspleißen

path.join()-Syntaxformat

  • Verwenden Sie path Fügen Sie mehrere Pfadfragmente zu einer vollständigen Pfadzeichenfolge zusammen. Das Syntaxformat lautet wie folgt:
  •  const fs = require('fs');
     // 拼接要读取文件的绝对路径
     let filepath = __dirname +'/hello.txt'
     fs.readFile(filepath, 'utf-8', (err, data) => {
         // 判断是否读取成功
         if (err) return console.log(err);
         console.log(data); 
     });
    Nach dem Login kopieren
  • Verwenden Sie die Methode path.join(), um mehrere Pfadfragmente zu einer vollständigen Pfadzeichenfolge zusammenzufügen:
  •  const path = require('path')
    Nach dem Login kopieren

Erhalten Sie den Dateinamen im path

1. Das Syntaxformat von path.basename()

Verwenden Sie die Methode path.basename(), um den letzten Teil des Pfads abzurufen , das Syntaxformat ist wie folgt:

 path.basename(path[,ext])
Nach dem Login kopieren
  • path 必选参数,表示一个路径的字符串
  • ext 可选参数,表示可选的文件扩展名
  • 返回: 表示路径中的最后一部分

2.path.basename()的代码示例

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

 // 找文件名
 console.log( path.basename('index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
 console.log(path.basename('/api/getbooks')) // getbooks
Nach dem Login kopieren

获取路径中的文件扩展名

1.path.extname()的语法格式

使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

 path.extname(path)
Nach dem Login kopieren
  • path 必选参数,表示一个路径的字符串
  • 返回: 返回得到的扩展名字符串

使用 path.extname() 方法,可以获取路径中的扩展名部分

 // 找字符串中,最后一个点及之后的字符
 console.log( path.extname('index.html') ); // .html
 console.log( path.extname('a.b.c.d.html') ); // .html
 console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
 console.log( path.extname('adf.adsf') ); // .adsf
Nach dem Login kopieren

原文地址:https://juejin.cn/post/7088650568150810638

作者:L同学啦啦啦

更多node相关知识,请访问:nodejs 教程

Das obige ist der detaillierte Inhalt vonLassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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