解讀node.js中的path路徑模塊
1. 什么是 path 路徑模塊
path 模塊是 Node.js 官方提供的、用來處理路徑的模塊。
它提供了一系列的方法和屬性,用來滿足用戶對路徑的處理需求。
例如:
path.join ()方法,用來 將多個路徑片段拼接成一個完整的路徑字符串path.basename ()方法,用來從路徑字符串中,將文件名解析出來
如果要在 JavaScript 代碼中,使用 path 模塊來處理路徑,則需要使用如下的方式先導(dǎo)入它:

2. 路徑拼接
使用 path.join() 方法,可以把多個路徑片段拼接為完整的路徑字符串,語法格式如下:

參數(shù)解讀:
- ...paths <string> 路徑片段的序列
- 返回值 : <string>
使用 path.join() 方法,可以把多個路徑片段拼接為完整的路徑字符串:

注意:今后凡是涉及到路徑拼接的操作,都要使用 path.join() 方法進(jìn)行處理。不要直接使用 + 進(jìn)行字符串的拼接。
3. 獲取路徑中的文件名
使用 path.basename() 方法,可以獲取路徑中的最后一部分,經(jīng)常通過這個方法獲取路徑中的文件名,語法格式如下:

參數(shù)解讀:
- path <string> 必選參數(shù),表示一個路徑的字符串
- ext <string> 可選參數(shù),表示文件擴(kuò)展名
- 返回 : <string> 表示路徑中的最后一部分
![]()
使用 path.basename() 方法,可以從一個文件路徑中,獲取到文件的名稱部分:

4. 獲取路徑中的文件擴(kuò)展名
使用 path.extname() 方法,可以獲取路徑中的擴(kuò)展名部分,語法格式如下:

參數(shù)解讀:
- path <string> 必選參數(shù),表示一個路徑的字符串
- 返回 : <string> 返回得到的擴(kuò)展名字符串
![]()
使用 path.extname() 方法,可以獲取路徑中的擴(kuò)展名部分:

5. 綜合案例 - 時鐘案例
![]()
將素材目錄下的 index.html 頁面,拆分成三個文件,分別是:
- index.css
- index.js
- index.html
并且將拆分出來的 3 個文件,存放到 clock 目錄中。

![]()
①創(chuàng)建兩個正則表達(dá)式,分別用來匹配 <style> 和 <script> 標(biāo)簽
②使用 fs 模塊,讀取需要被處理的 HTML 文件
③自定義 resolveCSS 方法,來寫入 index.css 樣式文件
④自定義 resolveJS 方法,來寫入 index.js 腳本文件
⑤自定義 resolveHTML 方法,來寫入 index.html 文件
![]()

![]()

![]()

![]()

![]()

![]()
① fs.writeFile () 方法只能用來創(chuàng)建文件,不能用來創(chuàng)建路徑
② 重復(fù)調(diào)用 fs.writeFile () 寫入同一個文件,新寫入的內(nèi)容會覆蓋之前的舊內(nèi)容
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)
在之前做過一個小項(xiàng)目,涉及到了文件上傳,在大文件上面使用了斷點(diǎn)續(xù)傳,降低了服務(wù)器方面的壓力,現(xiàn)在小編把Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)分享給大家,感興趣的朋友一起看看吧2022-01-01
nodejs環(huán)境快速操作mysql數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了nodejs環(huán)境快速操作mysql數(shù)據(jù)庫的方法詳解,需要的朋友可以參考下2021-03-03
NodeJS?基于?Dapr?構(gòu)建云原生微服務(wù)應(yīng)用快速入門教程
Dapr?是一個可移植的、事件驅(qū)動的運(yùn)行時,它使任何開發(fā)人員能夠輕松構(gòu)建出彈性的、無狀態(tài)和有狀態(tài)的應(yīng)用程序,并可運(yùn)行在云平臺或邊緣計(jì)算中,它同時也支持多種編程語言和開發(fā)框架,本文重點(diǎn)介紹NodeJS云原生微服務(wù)應(yīng)用,感興趣的朋友一起看看吧2022-07-07
Node連接MySQL并封裝其增刪改查的實(shí)現(xiàn)代碼
本文主要介紹了Node連接MySQL并封裝其增刪改查的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
淺析node中間件及實(shí)現(xiàn)一個簡單的node中間件
這篇文章主要介紹了淺析node中間件及實(shí)現(xiàn)一個簡單的node中間件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解
這篇文章主要介紹了Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解,Buffer支持ascii、utf8、ucs2、base64等編碼格式,需要的朋友可以參考下2014-08-08

