1.path.basename(path[, ext])
參數(shù):
作用:
path.basename() 方法返回 path 的最后一部分计雌,類似于 Unix 的 basename 命令惠险。 尾部的目錄分隔符將被忽略泌霍,
注意:
如果 path
不是字符串或者給定了 ext
且不是字符串义锥,則拋出 TypeError
捏雌。
例子:
path.basename('/foo/bar/baz/asdf/quux.html');
// 返回: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// 返回: 'quux'
2.path.dirname(path)
參數(shù):
- path <string>
- 返回: <string>
作用:
返回 path 的目錄名宴霸,類似于 Unix 的 dirname 命令姆坚。 尾部的目錄分隔符將被忽略
例子:
path.dirname('/foo/bar/baz/asdf/quux');
// 返回: '/foo/bar/baz/asdf'
3.path.extname(path)
參數(shù):
- path <string>
- 返回: <string>
作用:
返回 path 的擴展名澳泵,從最后一次出現(xiàn) .(句點)字符到 path 最后一部分的字符串結(jié)束。 如果在 path 的最后一部分中沒有 . 兼呵,或者如果 path 的基本名稱(參閱 path.basename())除了第一個字符以外沒有 .兔辅,則返回空字符串。
注意:
如果 path
不是字符串击喂,則拋出 TypeError
维苔。
例子:
path.extname('index.html');
// 返回: '.html'
path.extname('index.coffee.md');
// 返回: '.md'
path.extname('index.');
// 返回: '.'
path.extname('index');
// 返回: ''
path.extname('.index');
// 返回: ''
path.extname('.index.md');
// 返回: '.md'
4.path.format(pathObject)
參數(shù):
作用:
從對象返回路徑字符串。 與 path.parse()
相反懂昂。
注意:
當(dāng)為 pathObject 提供屬性時介时,注意以下組合,其中一些屬性優(yōu)先于另一些屬性:
如果提供了 pathObject.dir凌彬,則忽略 pathObject.root沸柔。
如果 pathObject.base 存在,則忽略 pathObject.ext 和 pathObject.name铲敛。
例子:
path.format({
dir: 'C:\\path\\dir',
base: 'file.txt'
});
// 返回: 'C:\\path\\dir\\file.txt'
5.path.isAbsolute(path)
參數(shù):
作用:
檢測 path 是否為絕對路徑褐澎。
注意:
如果給定的 path 是零長度字符串,則返回 false伐蒋。
例子:
path.isAbsolute('//server'); // true
path.isAbsolute('\\\\server'); // true
path.isAbsolute('C:/foo/..'); // true
path.isAbsolute('C:\\foo\\..'); // true
path.isAbsolute('bar\\baz'); // false
path.isAbsolute('bar/baz'); // false
path.isAbsolute('.'); // false
6.path.join([...paths])
參數(shù):
作用:
path.join() 方法使用平臺特定的分隔符作為定界符將所有給定的 path 片段連接在一起,然后規(guī)范化生成的路徑先鱼。
零長度的 path 片段會被忽略俭正。 如果連接的路徑字符串是零長度的字符串,則返回 '.'型型,表示當(dāng)前工作目錄段审。
例子:
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// 返回: '/foo/bar/baz/asdf'
path.join('foo', {}, 'bar');
// 拋出 'TypeError: Path must be a string. Received {}'
7.path.normalize(path)
參數(shù):
作用:
規(guī)范化給定的 path,解析 '..' 和 '.' 片段。
當(dāng)找到多個連續(xù)的路徑段分隔字符時(例如 POSIX 上的 /寺枉、Windows 上的 \ 或 /)抑淫,則它們將被替換為單個平臺特定的路徑段分隔符(POSIX 上的 /、Windows 上的 \)姥闪。 尾部的分隔符會保留始苇。
如果 path 是零長度的字符串,則返回 '.'筐喳,表示當(dāng)前工作目錄催式。
例子:
在 Windows 上:
path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// 返回: 'C:\\temp\\foo\\'
由于 Windows 識別多種路徑分隔符,
因此這些分隔符都將被替換為 Windows 首選的分隔符(\):
path.win32.normalize('C:////temp\\\\/\\/\\/foo/bar');
// 返回: 'C:\\temp\\foo\\bar'
8.path.parse(path)
參數(shù):
作用:
返回一個對象避归,其屬性表示 path 的重要元素荣月。 尾部的目錄分隔符將被忽略。
注意:
例子:
path.parse('C:\\path\\dir\\file.txt');
// 返回:
// { root: 'C:\\',
// dir: 'C:\\path\\dir',
// base: 'file.txt',
// ext: '.txt',
// name: 'file' }
9.path.relative(from, to)
參數(shù):
作用:
根據(jù)當(dāng)前工作目錄返回 from 到 to 的相對路徑梳毙。 如果 from 和 to 各自解析到相同的路徑(分別調(diào)用 path.resolve() 之后)哺窄,則返回零長度的字符串。
如果將零長度的字符串傳入 from 或 to账锹,則使用當(dāng)前工作目錄代替該零長度的字符串萌业。
path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb');
// 返回: '..\\..\\impl\\bbb'
10.path.resolve([...paths])
參數(shù):
作用:
將路徑或路徑片段的序列解析為絕對路徑奸柬。
注意:
給定的路徑序列從右到左進行處理生年,每個后續(xù)的 path 前置,直到構(gòu)造出一個絕對路徑廓奕。 例如抱婉,給定的路徑片段序列:/foo、 /bar懂从、 baz授段,調(diào)用 path.resolve('/foo', '/bar', 'baz') 將返回 /bar/baz。
如果在處理完所有給定的 path 片段之后還未生成絕對路徑番甩,則再加上當(dāng)前工作目錄侵贵。
生成的路徑已規(guī)范化,并且除非將路徑解析為根目錄缘薛,否則將刪除尾部斜杠窍育。
零長度的 path 片段會被忽略。
如果沒有傳入 path 片段宴胧,則 path.resolve() 將返回當(dāng)前工作目錄的絕對路徑漱抓。
例子:
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');
// 如果當(dāng)前工作目錄是 /home/myself/node,
// 則返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
11.path.toNamespacedPath(path)
參數(shù):
作用:
僅在 Windows 系統(tǒng)上恕齐,返回給定 path
的等效名稱空間前綴路徑乞娄。 如果 path
不是字符串,則將返回 path
而不進行修改。