1.path.basename(path[, ext])
参数:
-
path
-
ext
(可选的)文件扩展名。 - 返回:
作用:
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)
参数:
- path
- 返回:
作用:
返回 path 的目录名,类似于 Unix 的 dirname 命令。 尾部的目录分隔符将被忽略
例子:
path.dirname('/foo/bar/baz/asdf/quux');
// 返回: '/foo/bar/baz/asdf'
3.path.extname(path)
参数:
- path
- 返回:
作用:
返回 path 的扩展名,从最后一次出现 .(句点)字符到 path 最后一部分的字符串结束。 如果在 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)
参数:
-
pathObject
-
dir
-
root
-
base
-
name
-
ext
-
返回:
作用:
从对象返回路径字符串。 与 path.parse()
相反。
注意:
当为 pathObject 提供属性时,注意以下组合,其中一些属性优先于另一些属性:
如果提供了 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)
参数:
-
path
- 返回:
作用:
检测 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])
参数:
-
...paths
路径片段的序列。 - 返回:
作用:
path.join() 方法使用平台特定的分隔符作为定界符将所有给定的 path 片段连接在一起,然后规范化生成的路径。
零长度的 path 片段会被忽略。 如果连接的路径字符串是零长度的字符串,则返回 '.',表示当前工作目录。
例子:
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)
参数:
-
path
- 返回:
作用:
规范化给定的 path,解析 '..' 和 '.' 片段。
当找到多个连续的路径段分隔字符时(例如 POSIX 上的 /、Windows 上的 \ 或 /),则它们将被替换为单个平台特定的路径段分隔符(POSIX 上的 /、Windows 上的 \)。 尾部的分隔符会保留。
如果 path 是零长度的字符串,则返回 '.',表示当前工作目录。
例子:
在 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)
参数:
-
path
- 返回:
作用:
返回一个对象,其属性表示 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)
参数:
-
from
-
to
- 返回:
作用:
根据当前工作目录返回 from 到 to 的相对路径。 如果 from 和 to 各自解析到相同的路径(分别调用 path.resolve() 之后),则返回零长度的字符串。
如果将零长度的字符串传入 from 或 to,则使用当前工作目录代替该零长度的字符串。
path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb');
// 返回: '..\\..\\impl\\bbb'
10.path.resolve([...paths])
参数:
-
...paths
路径或路径片段的序列。 - 返回:
作用:
将路径或路径片段的序列解析为绝对路径。
注意:
给定的路径序列从右到左进行处理,每个后续的 path 前置,直到构造出一个绝对路径。 例如,给定的路径片段序列:/foo、 /bar、 baz,调用 path.resolve('/foo', '/bar', 'baz') 将返回 /bar/baz。
如果在处理完所有给定的 path 片段之后还未生成绝对路径,则再加上当前工作目录。
生成的路径已规范化,并且除非将路径解析为根目录,否则将删除尾部斜杠。
零长度的 path 片段会被忽略。
如果没有传入 path 片段,则 path.resolve() 将返回当前工作目录的绝对路径。
例子:
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'
11.path.toNamespacedPath(path)
参数:
-
path
- 返回:
作用:
仅在 Windows 系统上,返回给定 path
的等效名称空间前缀路径。 如果 path
不是字符串,则将返回 path
而不进行修改。