1. 程式人生 > >node總結之工具模組(Path 模組)

node總結之工具模組(Path 模組)

Node.js path 模組提供了一些用於處理檔案路徑的小工具,來看下引入該模組的語法格式:

var path = require("path")

來看下方法:

序號 方法 & 描述
1 path.normalize(p)
規範化路徑,注意'..' 和 '.'。
2 path.join([path1][, path2][, ...])
用於連線路徑。該方法的主要用途在於,會正確使用當前系統的路徑分隔符,Unix系統是"/",Windows系統是"\"。
3 path.resolve([from ...], to)
to 引數解析為絕對路徑,給定的路徑的序列是從右往左被處理的,後面每個 path 被依次解析,直到構造完成一個絕對路徑。 例如,給定的路徑片段的序列為:/foo、/bar、baz,則呼叫 path.resolve('/foo', '/bar', 'baz') 會返回 /bar/baz。
path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果當前工作目錄為 /home/myself/node,
// 則返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'

 

4 path.isAbsolute(path)
判斷引數 path 是否是絕對路徑。
5 path.relative(from, to)

用於將絕對路徑轉為相對路徑,返回從 from 到 to 的相對路徑(基於當前工作目錄)。

//在 Linux 上:

path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// 返回: '../../impl/bbb'

//在 Windows 上:

path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb');
// 返回: '..\\..\\impl\\bbb'

 

6 path.dirname(p)
返回路徑中代表資料夾的部分,同 Unix 的dirname 命令類似。
7 path.basename(p[, ext])
返回路徑中的最後一部分。同 Unix 命令 bashname 類似。
8 path.extname(p)
返回路徑中檔案的字尾名,即路徑中最後一個'.'之後的部分。如果一個路徑中並不包含'.'或該路徑只包含一個'.' 且這個'.'為路徑的第一個字元,則此命令返回空字串。
9 path.parse(pathString)
返回路徑字串的物件。
10 path.format(pathObject)
從物件中返回路徑字串,和 path.parse 相反。

再來看屬性:

序號 屬性 & 描述
1 path.sep
平臺的檔案路徑分隔符,'\\' 或 '/'。
2 path.delimiter
平臺的分隔符, ; or ':'.
3 path.posix
提供上述 path 的方法,不過總是以 posix 相容的方式互動。
4 path.win32
提供上述 path 的方法,不過總是以 win32 相容的方式互動。

最後來看個例項:

var path = require("path");

// 格式化路徑
console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..'));

// 連線路徑
console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..'));

// 轉換為絕對路徑
console.log('resolve : ' + path.resolve('main.js'));

// 路徑中檔案的字尾名
console.log('ext name : ' + path.extname('main.js'));

好啦,本次記錄就到這裡了。

如果感覺不錯的話,請多多點贊支援哦。。。