node Path模块常用方法总结

path 模块

path是路径模块,用于处理文件和目录的路径。
调用方法:const path = require('path');

1. 常用方法

  • basename(path ,[ext]):返回尾缀
basename('/foo/bar/baz/asdf/quux.html');    //quux.html
  • dirname(path):返回目录名
basename('/foo/bar/baz/asdf/quux.html');    ///foo/bar/baz/asdf
  • extname(path):返回拓展名
basename('/foo/bar/baz/asdf/quux.html');    //html
  • format(pathObject):从对象返回路径字符串
    根据路径对象(pathObject)生成路径字符串(path)
path.format({
  root: '/ignored',
  dir: '/home/user/dir',
  base: 'file.txt'
});
// 返回: '/home/user/dir/file.txt'
  • isAbsolute(path):判断是不是绝对路径
    如果给定的 path 是零长度字符串,则返回 false

  • join([...paths]):使用平台特定的分隔符把全部给定的path片段连接到一起,并规范化

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// 返回: '/foo/bar/baz/asdf'
path.join('foo', {}, 'bar');
// 抛出 'TypeError: Path must be a string. Received {}'
  • normalize(path):规范化给定的path,并解析 '..' 和 '.'
path.normalize('/foo/bar//baz/asdf/quux/..');
// 返回: '/foo/bar/baz/asdf'
  • parse(path):解析path为路径对象(pathObject)
    返回的对象将具有以下属性:

    • dir
    • root
    • base
    • name
    • ext
path.parse('/home/user/dir/file.txt');
// 返回:
// { root: '/',
//   dir: '/home/user/dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file' }
┌─────────────────────┬────────────┐
│          dir        │    base    │
├──────┬              ├──────┬─────┤
│ root │              │ name │ ext │
"  /    home/user/dir / file  .txt "
└──────┴──────────────┴──────┴─────┘
("" 行中的所有空格都应该被忽略,它们纯粹是为了格式化)
  • relative(from, to):返回从from到to的相对路径
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// 返回: '../../impl/bbb'
  • resolve([...paths]):将路径或路径片段的序列解析为一个绝对路径
path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果当前工作目录是 /home/myself/node,
// 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'

拓展学习

  • Path官方文档
  • Path 模块部分常用函数解析

你可能感兴趣的:(node Path模块常用方法总结)