Node.js Path 模組

Node.js 工具模組Node.js 工具模組

Node.js path 模組提供了一些用於處理檔路徑的小工具,我們可以通過以下方式引入該模組:

var path = require("path")

方法

序號方法 & 描述
1path.normalize(p)
規範化路徑,注意'..' 和 '.'。
2path.join([path1][, path2][, ...])
用於連接路徑。該方法的主要用途在於,會正確使用當前系統的路徑分隔符號,Unix系統是"/",Windows系統是"\"。
3path.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'
4path.isAbsolute(path)
判斷參數 path 是否是絕對路徑。
5path.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'
6path.dirname(p)
返回路徑中代表檔夾的部分,同 Unix 的dirname 命令類似。
7path.basename(p[, ext])
返回路徑中的最後一部分。同 Unix 命令 bashname 類似。
8path.extname(p)
返回路徑中文件的尾碼名,即路徑中最後一個'.'之後的部分。如果一個路徑中並不包含'.'或該路徑只包含一個'.' 且這個'.'為路徑的第一個字元,則此命令返回空字元串。
9path.parse(pathString)
返回路徑字串的對象。
10path.format(pathObject)
從對象中返回路徑字串,和 path.parse 相反。

屬性

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

實例

創建 main.js 檔,代碼如下所示:

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'));

代碼執行結果如下:

$ node main.js
normalization : /test/test1/2slashes/1slash
joint path : /test/test1/2slashes/1slash
resolve : /web/com/1427176256_27423/main.js
ext name : .js

Node.js 工具模組Node.js 工具模組