Le module path est un module intégré dans nodejs pour traiter les chemins de fichiers/répertoires. Il peut être considéré comme une boîte à outils, nous fournissant de nombreuses méthodes à utiliser, bien sûr toutes liées au traitement des chemins. Dans le même temps, le module path apparaît fréquemment dans le développement front-end, par exemple lors de la configuration du webpack. Cet article parlera du module path du nœud.
Avant-propos : À travers cet article, vous découvrirez certaines API du module intégré de chemin du nœud
Si nécessaire, vous pouvez le consulter sur le site officiel du nœud. Bien sûr, la pratique est supérieure à la théorie
, j'ai donc préparé un cas de pratique
Le module path est un module officiellement fourni par Node.js pour le chemins de traitement. . 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 est
Il convient de noter que la valeur renvoyée est string
//引入path模块 const path=require("path") //书写要拼接的路径 const pathStr=path.join('/a','/b/c','../','./d','e') console.log(pathStr)
2.2 path.basename()En utilisant la méthode path.basename(), vous pouvez obtenir la dernière partie du chemin. Cette méthode est souvent utilisée pour obtenir le nom du fichier dans le chemin
Format de grammaire
chemin paramètre requis, une chaîne. représentant un 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)
2.3 path.extname()
const path=require("path") const fpath='./a/b/c/d/index.html' const ftext =path.extname(fpath) console.log(ftext)Copier après la connexion
3 .Clock case practice
en trois fichiers respectivement index.html index.css index.js et stockez-les dans In un fichier préparé
Cliquez avec le bouton droit pour afficher le code source
1 Créez deux expressions régulières pour faire correspondre4. Personnalisez la méthode solveJS pour écrire le fichier de script index.jsbalises
3. Personnalisez la méthode solveCSS pour écrire le fichier de style index.css
2 . lisez les fichiers HTML qui doivent être traités
5. Personnalisez la méthode solveHTML pour écrire l'index. fichier html
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,'/static/index.html'),'utf-8',function(err,dateStr){ if(err){ return console.log("读取失败") } resolveCSS(dateStr) resolveHTML(dateStr) resolveJS (dateStr) })
function resolveCSS(htmlStr){ const r1=regStyle.exec(htmlStr) const newcss=r1[0].replace('<style>','').replace('</style>','') //将匹配的css写入到指定的index.css文件中 fs.writeFile(path.join(__dirname,'/static/index.css'),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('<script>','').replace('</script>','') //将匹配的css写入到指定的index.js文件中 fs.writeFile(path.join(__dirname,'/static/index.js'),newcss,function(err){ if(err) return console.log("导入失败"+err.message) console.log("ojbk") }) } function resolveHTML(htmlStr){ const newhtml=htmlStr .replace(regStyle,'<link rel="stylesheet" href="./index.css">') .replace(scriptruler,'<script src="./index.js"></script>') //将匹配的css写入到指定的index.html文件中 fs.writeFile(path.join(__dirname,'/static/index2.html'),newhtml,function(err){ if(err) return console.log("导入失败"+err.message) console.log("ojbk") }) }Copier après la connexion<style></style>
和<script></script>
Le résultat final est de séparer les styles dans le fichier spécifié
Mais parce que l'index.html initial contient tout le code, et puis
l'emplacement de stockage est toujours le même lorsque les styles sont divisés, donc l'index final Le code de .html reste inchangé
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!