Heim > Web-Frontend > js-Tutorial > Hauptteil

Eine kurze Analyse des Pfadmoduls des Knotens

青灯夜游
Freigeben: 2023-02-17 18:18:51
nach vorne
2482 Leute haben es durchsucht

Das Pfadmodul ist ein in NodeJS integriertes Modul zur Verarbeitung von Datei-/Verzeichnispfaden. Es kann als Toolbox betrachtet werden, die uns viele Methoden zur Verfügung stellt, natürlich alle im Zusammenhang mit der Pfadverarbeitung. Gleichzeitig erscheint das Pfadmodul häufig in der Front-End-Entwicklung, beispielsweise bei der Konfiguration von Webpack. In diesem Artikel geht es um das Pfadmodul des Knotens. „Pfadmodul von Node“ Natürlich ist die Praxis wichtiger als die Theorie

, also habe ich einen Fall für die Praxis vorbereitet

Eine kurze Analyse des Pfadmoduls des Knotens

1 Erste Einführung in das Pfadmodul

Pfadmodul ist ein von Node.js offiziell bereitgestelltes Modul für

Verarbeitungspfade
. Es bietet eine Reihe von Methoden und Attributen, um den Anforderungen der Benutzer an die Pfadverarbeitung gerecht zu werden.

2.path-Modul-API2.1 path.join()

path.join()-Methode, die zum Zusammenfügen mehrerer Pfadfragmente zu einer vollständigen Pfadzeichenfolge verwendet wird

Das Syntaxformat ist

...paths(string) Die Folge von Pfadfragmenten ist die gesamte Pfadreihe, die Sie zum Spleißen benötigen. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial,

Programmierunterricht
]

Es ist zu beachten, dass der zurückgegebene Wert string ist

//引入path模块
const path=require("path")
//书写要拼接的路径
const pathStr=path.join('/a','/b/c','../','./d','e')

console.log(pathStr)
Nach dem Login kopieren

Eine kurze Analyse des Pfadmoduls des Knotens

2.2. path.basename()

Mit der Methode path.basename() können Sie den letzten Teil des Pfads abrufen. Diese Methode wird häufig verwendet, um den Dateinamen im Pfad zu erhalten.

Pfad erforderlicher Parameter, eine Zeichenfolge Stellt einen Pfad dar

Eine kurze Analyse des Pfadmoduls des KnotensOptionaler Parameter, der die Dateierweiterung darstellt

Stellt den letzten Teil im Pfad dar
const path=require("path")

const  fpath='./a/b/c/index.html'

var fullname=path.basename(fpath)

console.log(fullname)
//获取指定后缀的文件名
const namepath=path.basename(fpath,'.html')

console.log(namepath)
Nach dem Login kopieren

2.3 path.extname()


path.extname() wird zum Abrufen verwendet die Dateierweiterung im Pfad Das Format des Namens Eine kurze Analyse des Pfadmoduls des Knotens

  • ist

path erforderlicher Parameter, eine Zeichenfolge, die einen Pfad darstellt Eine kurze Analyse des Pfadmoduls des Knotens

Rückgabe: Gibt die erhaltene Erweiterungszeichenfolge zurück
const path=require("path")

const fpath='./a/b/c/d/index.html'

const ftext =path.extname(fpath)

console.log(ftext)
Nach dem Login kopieren

3 .Clock Case-Übungen
Eine kurze Analyse des Pfadmoduls des Knotens

Teilen Sie den bereitgestellten Code (eine Datei enthält gleichzeitig HTML, CSS, JS)
    in drei Dateien auf: index.html, index.css und index.js, und speichern Sie sie in In eine vorbereitete Datei
  • Quellcode

  • Klicken Sie mit der rechten Maustaste, um den Quellcode anzuzeigen

Eine kurze Analyse des Pfadmoduls des Knotens

3.1 Implementierungsschritte 1. Erstellen Sie zwei reguläre Ausdrücke, die mit

-Tags übereinstimmen
2 Lesen Sie die HTML-Dateien, die verarbeitet werden müssen.

3. Passen Sie die Methode „resolveCSS“ an, um die index.css-Stildatei zu schreiben.
4. Passen Sie die Methode „resolveJS“ an, um die Skriptdatei „index.js“ zu schreiben. 5. Passen Sie die Methode „resolveHTML“ an, um den Index zu schreiben. html-Datei

3.1.1 Schritt 1 – Importieren Sie die erforderlichen Module und erstellen Sie reguläre Ausdrücke

const path=require('path')
const fs=require('fs')

const regStyle=/<style>[\s\S]*<\/style>/

const scriptruler=/<script>[\s\S]*<\/script>/
//需要读取的文件
fs.readFile(path.join(__dirname,&#39;/static/index.html&#39;),&#39;utf-8&#39;,function(err,dateStr){
    if(err){
        return console.log("读取失败")
    }
   resolveCSS(dateStr)
   resolveHTML(dateStr)
   resolveJS (dateStr)
})
Nach dem Login kopieren

3.1.2 Benutzerdefinierte ResolveCSS-ResolveHTML-ResolveJS-Methode
function resolveCSS(htmlStr){
    const r1=regStyle.exec(htmlStr)
    const newcss=r1[0].replace(&#39;<style>&#39;,&#39;&#39;).replace(&#39;</style>&#39;,&#39;&#39;)
    //将匹配的css写入到指定的index.css文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index.css&#39;),newcss,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
function resolveJS(htmlStr){
    const r2=scriptruler.exec(htmlStr)
    const newcss=r2[0].replace(&#39;<script>&#39;,&#39;&#39;).replace(&#39;</script>&#39;,&#39;&#39;)
    //将匹配的css写入到指定的index.js文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index.js&#39;),newcss,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
function  resolveHTML(htmlStr){
    const newhtml=htmlStr
    .replace(regStyle,&#39;<link rel="stylesheet" href="./index.css">&#39;)
    .replace(scriptruler,&#39;<script src="./index.js"></script>&#39;)
    //将匹配的css写入到指定的index.html文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index2.html&#39;),newhtml,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
Nach dem Login kopieren
Das Endergebnis besteht darin, die Stile zu trennen die angegebene Datei

<style></style><script></script>Aber da die anfängliche index.html den gesamten Code enthält und dann
der Speicherort beim Teilen der Stile immer noch derselbe ist, bleibt der endgültige Index unverändert. Der Code von .html bleibt unverändert


Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial!

Das obige ist der detaillierte Inhalt vonEine kurze Analyse des Pfadmoduls des Knotens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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