路径操作

Node.js————路径操作

导入path路径系统模块:const path = require('path');

  1. path.basename(path[, ext]):获取路径最后部分(参数ext:可选的文件扩展名)
    1
    2
    
    console.log(path.basename('/foo/bar/baz/asdf/quux.html'))//结果:quux.html
    console.log(path.basename('/foo/bar/baz/asdf/quux.html'), '.html')//结果:quux
    
  2. path.dirname(path):路径的目录名
    1
    
    console.log(path.dirname('/foo/bar/baz/asdf/quux'))//结果:/foo/bar/baz/asdf
    
  3. path.extname():路径的扩展名(返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。如果 path 的最后一部分没有 . 或 path 的文件名(参考 path.basename())的第一个字符是 .,则返回一个空字符串。)
    1
    2
    3
    4
    5
    
    console.log(path.extname('index.html'))//结果:'.html'
    console.log(path.extname('index.coffee.md'))//结果:'.md'
    console.log(path.extname('index.'))//结果:'.'
    console.log(path.extname('index'))//结果:''
    console.log(path.extname('.index'))//结果:''
    
  4. 路径的格式化处理:path.format():obj -> string path.parse():string ->obj
    path.parse():对象转成字符串
    1
    2
    3
    4
    5
    6
    7
    
    console.log(path.parse('/home/user/dir/file.txt'))
    //输出结果:
    // { root: '/',              //文件的根路径
    //   dir: '/home/user/dir',  //文件的全路径
    //   base: 'file.txt',       //文件名+扩展名
    //   ext: '.txt',            //扩展名
    //   name: 'file' }          //文件名 
    

    path.format():字符串转成对象

    1
    2
    3
    4
    5
    6
    
    let objpath = {
      root: '/ignored',
      dir: '/home/user/dir',
      base: 'file.txt'
    }
    console.log(path.format(objpath))//结果:'/home/user/dir/file.txt'
    
  5. path.isAbsolute:判断是否为绝对路径
    1
    2
    
    console.log(path.isAbsolute('/foo/bar'))//结果:true
    console.log(path.isAbsolute('C:/foo/..'))//结果:true
    
  6. path.join([…paths]):路径的拼接(..表示上层路径;.表示当前路径),在连接路径的时候回格式化路径
    1
    
    console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'))//结果:'/foo/bar/baz/asdf'
    
  7. path.normalize(path):规范化路径
    1
    2
    
    console.log(path.normalize('/foo/bar//baz/asdf/quux/..'))//结果:'/foo/bar/baz/asdf'
    console.log(path.normalize('C:\\temp\\\\foo\\bar\\..\\'))//结果:'C:\\temp\\foo\\'
    


-->