path.basename(path[, ext])
- path <string>
- ext <string> 可选的文件扩展名
- 返回: <string>
path.basename() 方法返回 path 的最后一部分,类似于 Unix basename 命令。 尾随的目录分隔符被忽略,见 path.sep。
const path = require('path');
path.basename('/foo/bar/baz/asdf/quux.html');
// 返回: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html'); // 添加后缀名后,返回结果将后缀名删除
// 返回: 'quux'
尽管 Windows 通常以不区分大小写的方式处理文件名(包括文件扩展名),但此函数不会。 例如,C:\foo.html 和 C:\foo.HTML 指的是同一个文件,但 basename 将扩展名视为区分大小写的字符串
:
path.win32.basename('C:\\foo.html', '.html');
// 返回: 'foo'
path.win32.basename('C:\\foo.HTML', '.html');
// 返回: 'foo.HTML'
如果 path 不是字符串,或者如果给定 ext 并且不是字符串,则抛出 TypeError。
path.delimiter
提供特定于平台的路径定界符
:
- ; 用于 Windows
- : 用于 POSIX
例如,在 POSIX 上:
console.log(process.env.PATH);
// 打印: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin'
process.env.PATH.split(path.delimiter);
// 返回: ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
在 Windows 上:
console.log(process.env.PATH);
// 打印: 'C:\Windows\system32;C:\Windows;C:\Program Files\node\'
process.env.PATH.split(path.delimiter);
// 返回: ['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\node\\']
path.dirname(path)
- path <string>
- 返回: <string>
path.dirname() 方法返回 path 的目录名
,类似于 Unix dirname 命令。 尾随的目录分隔符被忽略,见 path.sep。
path.dirname('/foo/bar/baz/asdf/quux');
// 返回: '/foo/bar/baz/asdf'
如果 path 不是字符串,则抛出 TypeError。
path.extname(path)
- path <string>
- 返回: <string>
path.extname() 方法返回 path 的扩展名
,即 path 的最后一部分中从最后一次出现的 .(句点)字符到字符串的结尾
。 如果 path 的最后一部分中没有 .,或者除了 path 的基本名称(参见 path.basename())的第一个字符之外没有 . 个字符,