Maison  >  Article  >  interface Web  >  Une brève analyse de quelques API du module path dans node

Une brève analyse de quelques API du module path dans node

青灯夜游
青灯夜游avant
2022-05-26 13:00:121924parcourir

Cet article vous présente le module path de node, présente quelques API du module intégré path et prépare également un cas de pratique. J'espère qu'il sera utile à tout le monde !

Une brève analyse de quelques API du module path dans node

1. Première introduction au module path

path module est un module officiellement fourni par Node.js et utilisé pour traiter les chemins

. Il fournit une série de méthodes et d'attributs pour répondre aux besoins des utilisateurs en matière de traitement des chemins.

API du module 2.path

2.1 méthode path.join()

path.join(), utilisée pour fusionner plusieurs fragments de chemin en une chaîne de chemin complète

Le format de syntaxe est

Une brève analyse de quelques API du module path dans node

...paths(string) La séquence de fragments de chemin est toute la série de chemins dont vous avez besoin pour épisser

Il convient de noter que la valeur renvoyée est une chaîne

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

console.log(pathStr)
Une brève analyse de quelques API du module path dans node

2.2 path.basename()

Utilisez la méthode path.basename() pour obtenir la dernière partie du chemin. Cette méthode est souvent utilisée pour obtenir le nom du fichier dans le chemin

Le format de syntaxe

Une brève analyse de quelques API du module path dans node

  • le chemin est un paramètre obligatoire, indiquant un chemin La chaîne
  • paramètre facultatif, représentant l'extension du fichier
  • représentant la dernière partie du chemin
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)

Une brève analyse de quelques API du module path dans node

2.3 path.extname()

path.extname() est utilisée pour obtenir le chemin. Le format de l'extension du fichier

est

Une brève analyse de quelques API du module path dans node

  • path est un paramètre obligatoire, une chaîne représentant un chemin

  • Renvoie : Renvoie la chaîne d'extension obtenue

const path=require("path")

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

const ftext =path.extname(fpath)

console.log(ftext)

Une brève analyse de quelques API du module path dans node

3. Pratique du cas d'horloge

Divisez le code fourni (un fichier contient du HTML, du CSS et du js en même temps)
en trois fichiers respectivement index.html index.css index.js et stockez-les dans Dans un fichier préparé

code source:http://127.0.0.1:5500/node/day1/static/index.html

3.1 Étapes de mise en œuvre

1. Créer deux expressions régulières Les expressions sont utilisées pour match <style></style><script></script> tags
2. Utilisez le module fs pour lire le fichier HTML qui doit être traité
3. Personnalisez la méthode solveCSS pour écrire le fichier de style index.css
4. Personnalisez la méthode solveJS pour écrire Entrez le script index.js file
5. Personnalisez la méthode solveHTML pour écrire le fichier index.html

3.1.1 Étape 1 - Importez les modules requis et créez des expressions régulières

const path=require(&#39;path&#39;)
const fs=require(&#39;fs&#39;)

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)
})

3.1.2 Personnalisation de la méthode solveCSS solveHTML solveJS

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")
    })
}

Le résultat final est de séparer les styles dans le fichier spécifié

Mais le index.html initial contient tout le code, et ensuite
est l'emplacement où les styles sont stockés lorsque les styles sont divisés, c'est toujours l'original, donc le. Le code final index.html reste inchangé

Une brève analyse de quelques API du module path dans node

Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel nodejs !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer