zoukankan      html  css  js  c++  java
  • Node.js核心模块API之路径操作

    参考文档https://nodejs.org/dist/latest-v14.x/docs/api/path.html#path_path_delimiter

    var path = require('path');
    console.log(path.basename('/foo/bar/baz/asdf/quux.html'));  // quux.html
    
    // 获取文件执行路径
    console.log(__dirname);  // D:UserspeiyuliPycharmProjectsuntitledsrcjs
    // 获取文件执行路径 + 文件名称
    console.log(__filename);  // D:UserspeiyuliPycharmProjectsuntitledsrcjs4.js
    // 获取文件执行路径
    console.log(path.dirname('/foo/bar/baz/asdf/quux'));  // /foo/bar/baz/asdf
    // 获取文件扩展名称
    console.log(path.extname('index.html')); // .html
    // 路径的格式化处理
    // path.format(); obj -> string
    // path.parse();  string -> obj
    
    var obj = path.parse(__filename);
    console.log(obj);
    // 执行结果
    // {
    //   root: 'D:\', 文件的根路径
    //   dir: 'D:\Users\peiyuli\PycharmProjects\untitled\src\js', 文件的全路径
    //   base: '04.js', 文件名称
    //   ext: '.js',  扩展名
    //   name: '04'   文件名称
    // }
    
    var objpath1 = {
      root: 'D:\',
      base: '04.js',
      ext: '.js',
      name: '04'
    };
    console.log(path.format(objpath1));  //  D:4.js
    
    var objpath2 = {
      root: 'D:\',
      dir: '\PycharmProjects\untitled\src\js',
      base: '04.js',
      ext: '.js',
      name: '04'
    };
    console.log(path.format(objpath2)); // PycharmProjectsuntitledsrcjs4.js
    
    // 判断是否为绝对路径
    console.log(path.isAbsolute('C:\foo\..'));  // true
    console.log(path.isAbsolute('C:/foo/..'));    // true
    
    // 拼接路径 在拼接路径的时候会格式化路径 .表示当前路径 ..表示上一层路径
    console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'));  //  /foo/bar/baz/asdf
    
    // 规范化路径 .表示当前路径 ..表示上一层路径
    console.log(path.normalize('/foo/bar//baz/asdf/quux/..')); // Linux下规范路径  /foo/bar/baz/asdf
    
    console.log(path.normalize('C:\temp\\\foo\bar\..\'));  // windows下规范路径  C:\temp\foo\
    
    // 计算两个路径的相对路径
    console.log(path.relative('C:\orandea\test\aaa', 'C:\orandea\impl\bbb'));  // ..\..\impl\bbb
    
    // 解析路径 cd
    console.log(path.resolve('/foo/bar', '/tmp/file/'));  // /tmp/file (因为这两个都是根路径,先进入第一个路径,再进到第二个路径下,最后结果是第二个路径)
    
    console.log(path.resolve('/foo/bar', './baz'));  // /foo/bar/baz (./表示当前路径)
    // wwwroot 表示相对路径,以当前路径为参考点,先进入wwwroot中
    console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));  // D:UserspeiyuliPycharmProjectsuntitledsrcjswwwrootstatic_filesgifimage.gif
    
    //path.delimiter 路径分隔符
    console.log(path.delimiter); // windows中返回; Linux返回 :
    
    // path.sep 环境变量分隔符
    console.log(path.sep); // windows返回 Linux返回 /
    console.log('foo\bar\baz'.split(path.sep));  // ['foo', 'bar', 'baz']
  • 相关阅读:
    ext4.2常用的几种弹框
    oracle的批量操作sql语句
    ztree异步加载树节点
    shiro接口对象介绍
    jquery记住密码
    整合ssm框架
    redis中 Could not get a resource from the pool 异常解决
    redis的安装
    centos下tomcat的安装
    centos下MySQL的安装
  • 原文地址:https://www.cnblogs.com/ella-li/p/14808904.html
Copyright © 2011-2022 走看看