一文帶你了解Node.js中的path模塊
Node.js和Python技術(shù)類(lèi)似, 都致力于能夠?qū)崿F(xiàn)跨平臺(tái)的通用代碼。 為此,針對(duì)路徑的拼接, Node.js提供了path模塊。 該模塊提供了一些方法來(lái)處理文件路徑,包括路徑的拼接、解析、規(guī)范化等。在本文中,田辛老師將介紹path模塊中的各個(gè)常用方法,并給出實(shí)例。同時(shí),田辛老師還將結(jié)合__dirname,提供一個(gè)綜合例子。
1 path模塊
1.1 path.join()
path.join()方法將多個(gè)路徑拼接成一個(gè)完整的路徑。它會(huì)自動(dòng)處理路徑分隔符,確保生成的路徑在不同操作系統(tǒng)上都能正常使用。
const path = require('path'); const dir = '/path/to/dir'; const filename = 'file.txt'; const filePath = path.join(dir, filename); console.log(filePath); // 輸出Linux:/path/to/dir/file.txt // 輸出Windows:\path\to\dir\file.txt
1.2 path.resolve()
path.resolve()方法將路徑解析為絕對(duì)路徑。它會(huì)將相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑,并且可以處理多個(gè)參數(shù)。
const path = require('path'); const dir = '/path/to/dir'; const filename = 'file.txt'; const filePath = path.resolve(dir, filename); console.log(filePath); // 輸出Linux:/path/to/dir/file.txt // 輸出Windows:E:\path\to\dir\file.txt
注意: path.join()方法和path.resolve()方法都是基于路徑的拼裝,不保證文件的存在
1.3 path.normalize()
path.normalize()方法規(guī)范化路徑,去除多余的斜杠和點(diǎn)。它會(huì)將路徑中的斜杠轉(zhuǎn)換為當(dāng)前操作系統(tǒng)的標(biāo)準(zhǔn)斜杠,并且會(huì)處理多個(gè)點(diǎn)和斜杠。
const path = require('path'); const dir = '/path/to/dir//'; const filename = './file.txt'; const filePath = path.normalize(dir + filename); console.log(filePath); // 輸出:/path/to/dir/file.txt
1.4 path.dirname()
path.dirname()方法獲取路徑中的目錄部分。它會(huì)返回路徑中最后一個(gè)斜杠之前的部分。
const path = require('path'); const filePath = '/path/to/dir/file.txt'; const dir = path.dirname(filePath); console.log(dir); // 輸出:/path/to/dir
1.5 path.basename()
path.basename()方法獲取路徑中的文件名部分。它會(huì)返回路徑中最后一個(gè)斜杠之后的部分。
const path = require('path'); const filePath = '/path/to/dir/file.txt'; const filename = path.basename(filePath); console.log(filename); // 輸出:file.txt
1.6 path.extname()
path.extname()方法獲取路徑中的文件擴(kuò)展名部分。它會(huì)返回路徑中最后一個(gè)點(diǎn)之后的部分。
const path = require('path'); const filePath = '/path/to/dir/file.txt'; const extname = path.extname(filePath); console.log(extname); // 輸出:.txt
2 __dirname變量
2.1 變量說(shuō)明
__dirname變量是Node.js的一個(gè)全局變量, 它表示當(dāng)前模塊所在的目錄的絕對(duì)路徑。
console.log(__dirname); // 輸出:E:\develop\node.js
2.2 __dirname 和 path.join 聯(lián)合使用
const path = require('path'); const dir = path.join(__dirname, 'files'); const filename = 'file.txt'; const filePath = path.join(dir, filename); console.log(filePath); // 輸出:E:\develop\node.js\files\file.txt
在上面的例子中,田辛老師使用path.join()方法將__dirname和’files’拼接成一個(gè)目錄路徑,然后再將文件名拼接到目錄路徑中,得到完整的文件路徑。這樣,我們就可以方便地處理文件路徑了。
到此這篇關(guān)于一文帶你了解Node.js中的path模塊的文章就介紹到這了,更多相關(guān)Node.js path模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決使用node命令提示:'node'不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
最近在工作中遇到了個(gè)常見(jiàn)的問(wèn)題,分享給大家,這篇文章主要給大家介紹了關(guān)于如何解決使用node命令提示:'node'不是內(nèi)部或外部命令,也不是可運(yùn)行的程序的相關(guān)資料,需要的朋友可以參考下2023-02-02Node.js中MongoDB查詢(xún)數(shù)據(jù)的方法
在Node.js中,可以使用MongoDB驅(qū)動(dòng)程序和Mongoose庫(kù)來(lái)進(jìn)行MongoDB的查詢(xún)操作,本文就來(lái)介紹一下Node.js中MongoDB查詢(xún)數(shù)據(jù)的方法,感興趣的可以了解一下2023-12-12node.js中的path.resolve方法使用說(shuō)明
這篇文章主要介紹了node.js中的path.resolve方法使用說(shuō)明,本文介紹了path.resolve的方法說(shuō)明、接收參數(shù)、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12整理幾個(gè)關(guān)鍵節(jié)點(diǎn)深入理解nodejs
這篇文章主要介紹了整理幾個(gè)關(guān)鍵節(jié)點(diǎn)深入理解nodejs,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下,需要的小伙伴可以參考一下2022-07-07實(shí)例詳解Nodejs 保存 payload 發(fā)送過(guò)來(lái)的文件
這篇文章主要介紹了實(shí)例詳解Nodejs 保存 payload 發(fā)送過(guò)來(lái)的文件 的相關(guān)資料,需要的朋友可以參考下2016-01-01使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用
這篇文章主要介紹了使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-01-01node.js中的fs.writeFile方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.writeFile方法使用說(shuō)明,本文介紹了fs.writeFile的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12Node.js中Request模塊處理HTTP協(xié)議請(qǐng)求的基本使用教程
這篇文章主要介紹了Node.js中Request模塊處理HTTP請(qǐng)求的基本使用教程,request也支持OAuth的簽名請(qǐng)求,很好很強(qiáng)大,需要的朋友可以參考下2016-03-03