淺析node的path路徑模塊-熱消息

          來源:php中文網 | 2023-02-18 11:57:28 |

          path 模塊是 nodejs 中用于處理文件/目錄路徑的一個內置模塊,可以看作是一個工具箱,提供諸多方法供我們使用,當然都是和路徑處理有關的。同時在前端開發中 path 模塊出現的頻率也是比較高的,比如配置 webpack 的時候等。本文就來聊聊node的path路徑模塊。

          node的path模塊

          1.path路徑模塊初認識

          path 模塊是 Node.js 官方提供的、用來處理路徑的模塊。它提供了一系列的方法和屬性,用來滿足用戶對路徑的處理需求。


          (資料圖)

          2.path模塊的API

          2.1 path.join()

          path.join() 方法,用來將多個路徑片段拼接成一個完整的路徑字符串

          語法格式為

          …paths(string) 路徑片段的序列 ,就是你需要拼接的所有路徑系列。【相關教程推薦:nodejs視頻教程、編程教學】

          需要注意的是這個返回的值為string

          //引入path模塊const path=require("path")//書寫要拼接的路徑const pathStr=path.join("/a","/b/c","../","./d","e")console.log(pathStr)

          2.2 path.basename()

          使用 path.basename() 方法,可以獲取路徑中的最后一部分,經常通過這個方法獲取路徑中的文件名

          語法格式

          path 必選參數,表示一個路徑的字符串可選參數,表示文件擴展名表示路徑中的最后一部分
          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()

          path.extname()用于獲取路徑中的文件擴展名

          格式為

          path 必選參數,表示一個路徑的字符串

          返回: 返回得到的擴展名字符串

          const path=require("path")const fpath="./a/b/c/d/index.html"const ftext =path.extname(fpath)console.log(ftext)

          3.時鐘案例實踐

          將所提供的代碼(一個文件同時擁有html,css,js)進行拆分 拆分成三個文件分別為index.html index.css index.js并將其存放到一個準備好的文件中

          源代碼點擊右鍵查看源代碼

          3.1實現步驟

          1.創建兩個正則表達式,分別用來匹配 <style><script>標簽 2. 使用 fs 模塊,讀取需要被處理的 HTML 文件 3. 自定義 resolveCSS 方法,來寫入 index.css 樣式文件 4. 自定義 resolveJS 方法,來寫入 index.js 腳本文件 5.自定義 resolveHTML 方法,來寫入 index.html 文件

          3.1.1步驟1 - 導入需要的模塊并創建正則表達式

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

          3.1.2 自定義 resolveCSS resolveHTML resolveJS 方法

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

          最終的結果就是在指定的文件中將樣式剝離開

          但是那個最開始的index.html由于是包含全部的代碼,而后 在拆分樣式的時候存放的位置還是原來的,所以最終index.html的代碼不變

          更多node相關知識,請訪問:nodejs 教程!

          以上就是淺析node的path路徑模塊的詳細內容,更多請關注php中文網其它相關文章!

          關鍵詞: node path模塊

          91亚洲精品第一综合不卡播放| 亚洲国产系列一区二区三区 | 亚洲黄色在线网站| 国产成人亚洲精品91专区手机| 蜜臀亚洲AV无码精品国产午夜.| 中文字幕在线日亚洲9| 亚洲久悠悠色悠在线播放| 亚洲制服在线观看| 亚洲一区二区三区免费观看| 亚洲另类图片另类电影| 亚洲另类小说图片| 久久国产亚洲精品| 精品亚洲AV无码一区二区三区| 亚洲av专区无码观看精品天堂 | 亚洲免费观看在线视频| 国产成人亚洲合集青青草原精品| 亚洲jjzzjjzz在线观看| 2020国产精品亚洲综合网 | 国产综合精品久久亚洲| 久久亚洲av无码精品浪潮| 亚洲愉拍99热成人精品热久久| 亚洲愉拍99热成人精品热久久 | 亚洲最大中文字幕无码网站| 亚洲人成未满十八禁网站| 亚洲乱妇熟女爽到高潮的片| 豆国产96在线|亚洲| 亚洲国产日韩在线观频| 亚洲精品线路一在线观看| 狠狠色婷婷狠狠狠亚洲综合| 亚洲无线码在线一区观看| 久久久久久亚洲精品中文字幕| 久久亚洲精品无码AV红樱桃| 亚洲女人初试黑人巨高清| 亚洲日本人成中文字幕| 亚洲精品国产第一综合99久久| 国产亚洲精品美女| 国产亚洲成人在线播放va| 亚洲av无码成h人动漫无遮挡 | 中文字幕在线观看亚洲| 亚洲一级高清在线中文字幕| 亚洲色大18成人网站WWW在线播放|