path
模块提供了一些实用工具,用于处理文件和目录的路径。 可以使用以下方式访问它:
const path = require('path');
path.basename(path[, ext])
path
ext
path.basename()
方法会返回 path
的最后一部分。
path.basename('/目录1/目录2/文件.html');
// 返回: '文件.html'
path.basename('/目录1/目录2/文件.html', '.html');
// 返回: '文件'
path.dirname(path)
path
path.dirname()
方法会返回 path
的目录名。
path.dirname('/目录1/目录2/目录3');
// 返回: '/目录1/目录2'
//同变量 "__dirname"
path.extname(path)
path
path.extname()
方法会返回 path
的扩展名,即 path
的最后一部分中从最后一次出现 .
(句点)字符直到字符串结束。 如果在 path
的最后一部分中没有 .
,或者如果 path
的基本名称(参见 path.basename()
)除了第一个字符以外没有 .
,则返回空字符串。
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'
如果 path
不是字符串,则抛出 TypeError
。
path.parse(path)
path
path.parse()
方法会返回一个对象,其属性表示 path
的有效元素。
path.parse(path.(dir | root | base | name ext)) 来单独取某一属性值
path.format(pathObject)
pathObject
path.format()
方法从对象返回路径字符串。 与 path.parse()
相反。
path.format({
dir: 'C:\\path\\dir',
base: 'file.txt'
});
// 返回: 'C:\\path\\dir\\file.txt'
path.isAbsolute(path)
path
:path.isAbsolute()
方法检测 path
是否为绝对路径。
如果给定的 path
是零长度字符串,则返回 false
。
如果 path
不是字符串,则抛出 TypeError
。
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
path.join([...paths])
...paths
:path.join()
方法会将所有给定的 path
片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
长度为零的 path
片段会被忽略。 如果连接后的路径字符串为长度为零的字符串,则返回 '.'
,表示当前工作目录。
path.join('/目录1', '目录2', '目录3/目录4', '目录5', '..');
// 返回: '/目录1/目录2/目录3/目录4'
path.join('目录1', {
}, '目录2');
// 抛出 'TypeError: Path must be a string. Received {}'
如果任何的路径片段不是字符串,则抛出 TypeError
。