nodejs-path常用api
path.basename(path[, ext])
path.basename() 方法会返回 path 的最后一部分(返回文件名称[.ext]),类似于 Unix 的 basename 命令。 尾部的目录分隔符会被忽略,参见 path.sep。
如果 path 不是字符串、或给定了 ext 但不是字符串,则抛出 TypeError。
path.basename('/目录1/目录2/文件.html');
// 返回: '文件.html'
path.basename('/目录1/目录2/文件.html', '.html');
// 返回: '文件'
path.basename('/目录1/目录2/文件.HTML', '.html');
// 返回: '文件.HTML'
path.dirname(path)
path.dirname() 方法会返回 path 的目录名,类似于 Unix 的 dirname 命令。 尾部的目录分隔符会被忽略,参见 path.sep。
如果 path 不是字符串,则抛出 TypeError。
path.dirname('/目录1/目录2/目录3');
// 返回: '/目录1/目录2'
path.extname(path)
返回 path 的扩展名。
如果在 path 的最后一部分中没有 .,或者如果 path 的基本名称(参见 path.basename())除了第一个字符以外没有 .,则返回空字符串。
如果 path 不是字符串,则抛出 TypeError。
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.format(pathObject)
path.format() 方法从对象返回路径字符串。 与 path.parse() 相反。
当为 pathObject 提供属性时,注意以下组合,其中一些属性优先于另一些属性:
- 如果提供了
pathObject.dir,则忽略pathObject.root。 - 如果
pathObject.base存在,则忽略pathObject.ext和pathObject.name。
`[${dir} or ${root}]${path.sep}[${base} or ${name}.${ext}]`
在POSIX上:
// `root` 会被忽略。 path.format({ root: '/ignored', dir: '/home/user/dir', base: 'file.txt' }); // 返回: '/home/user/dir/file.txt' // `ext` 将被忽略。 path.format({ root: '/', base: 'file.txt', ext: 'ignored' }); // 返回: '/file.txt' // 如果未指定 `base`,则使用 `name` + `ext`。 path.format({ root: '/', name: 'file', ext: '.txt' }); // 返回: '/file.txt'
在 Windows 上:
path.format({ dir: 'C:\\path\\dir', base: 'file.txt' }); // 返回: 'C:\\path\\dir\\file.txt'
path.parse(path)
path.parse() 方法会返回一个对象,其属性表示 path 的有效元素。 尾部的目录分隔符会被忽略,参见 path.sep。
返回的对象具有以下属性:
path.isAbsolute(path)
检测path是否为绝对路径。
如果给定的 path 是零长度字符串,则返回 false。
path.relative(from, to)
返回to相对于form的相对路径
path.join([...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 {}'

浙公网安备 33010602011771号