path.basename(path[, ext])
path.basename()
方法返回 path
的最后一部分,类似于 Unix basename
命令。
尾随的目录分隔符被忽略,见 path.sep
。
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
。
The path.basename()
method returns the last portion of a path
, similar to
the Unix basename
command. Trailing directory separators are ignored, see
path.sep
.
path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// Returns: 'quux'
Although Windows usually treats file names, including file extensions, in a
case-insensitive manner, this function does not. For example, C:\\foo.html
and
C:\\foo.HTML
refer to the same file, but basename
treats the extension as a
case-sensitive string:
path.win32.basename('C:\\foo.html', '.html');
// Returns: 'foo'
path.win32.basename('C:\\foo.HTML', '.html');
// Returns: 'foo.HTML'
A TypeError
is thrown if path
is not a string or if ext
is given
and is not a string.