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.htmlC:\\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.