path.basename(path[, suffix])


path.basename() 方法返回 path 的最后一部分,类似于 Unix 的 basename 命令。尾随的 目录分隔符 会被忽略。

【The path.basename() method returns the last portion of a path, similar to the Unix basename command. Trailing directory separators are ignored.】

path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'

path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// Returns: 'quux' 

虽然 Windows 通常对文件名(包括文件扩展名)不区分大小写,但此函数不这样处理。例如,C:\foo.htmlC:\foo.HTML 指向同一个文件,但 basename 将扩展名视为区分大小写的字符串:

【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' 

如果 path 不是字符串,或者 suffix 被提供但不是字符串,则会抛出 TypeError

【A TypeError is thrown if path is not a string or if suffix is given and is not a string.】