P03:node内置模块path

相关文章

内置模块path

  • 模块提供用于处理文件路径和目录路径的实用工具
  • path 模块的默认操做因 Node.js 应用程序运行所在的操做系统而异。 具体来讲,当在 Windows 操做系统上运行时, path 模块将假定正在使用 Windows 风格的路径。所以,使用 path.basename() 可能会在 POSIX 和 Windows 上产生不一样的结果
    • path.normalize() 方法规范化给定的 path,解析 '..' 和 '.' 片断
      const {normalize} = require('path')
      console.log(normalize('./..//')) // 给定不规范的路径
      // 输出规范路径 ..\
      复制代码
    • path.join() 方法使用平台特定的分隔符做为定界符将全部给定的 path 片断链接在一块儿,而后规范化生成的路径。(处理了上下级关系等)
      const {join} = require('path')
      console.log(join('/user','aaa','../'))
      // 输出 \user\
      console.log(join('/user','aaa','../', 'bbb'))
      // 输出 \user\bbb
      复制代码
    • path.resolve() 方法将路径或路径片断的序列解析为绝对路径。
      console.log(resolve('./'))
      // 输出绝对路径 E:\xxx\xxxx\xxxx\api
      复制代码
    • path.basename() 方法返回 path 的最后一部分,相似于 Unix 的 basename 命令。 尾部的目录分隔符将被忽略
    • path.dirname() 方法返回 path 的目录名,相似于 Unix 的 dirname 命令。 尾部的目录分隔符将被忽略
    • path.extname() 方法返回 path 的扩展名,从最后一次出现 .(句点)字符到 path 最后一部分的字符串结束
      const {basename, dirname,extname} = require('path')
      const fileName = 'user/saa/xzz.txt'
      console.log(basename(fileName)) // xzz.txt
      console.log(dirname(fileName)) // user/saa
      console.log(extname(fileName)) // .txt
      复制代码
    • path.parse() 方法返回一个对象,其属性表示 path 的重要元素。 尾部的目录分隔符将被忽略
    • path.format() 与 path.parse() 行为相反
      const {parse, format} = require('path')
      const url = '/user/data/aaa/b.js'
      const ret = parse(url)
      console.log(ret)
      //{ root: '/',
      //  dir: '/user/data/aaa',
      //  base: 'b.js',
      //  ext: '.js',
      //  name: 'b' }
      console.log(format(ret))
      // /user/data/aaa\b.js
      复制代码
    • 提供平台特定的路径片断分隔符:
      Windows 上是 \。
      POSIX 上是 /。
      复制代码
    • 提供平台特定的路径定界符:
      ; 用于 Windows
          : 用于 POSIX
      复制代码
    • path.win32 属性提供对特定于 Windows 的 path 方法的实现的访问
    • path.posix 属性提供对 path 方法的 POSIX 特定实现的访问。
      <!--做者为windows 系统-->
      const {sep, delimiter, win32, posix} = require('path')
      console.log('sep:', sep)
      // sep: \
      console.log('delimiter:', delimiter)
      // delimiter: ;
      console.log('posix sep:', posix.sep)
      // posix sep: /
      console.log('posix delimiter:', posix.delimiter)
      // posix delimiter: :
      复制代码

特殊注意

  • 关于path: _dirname _filename 老是返回文件的绝对路径
  • 关于path: process.cwd() 老是返回node命令执行的路径(调用node的路径)
  • require 方法的路径老是相对于当前文件

closenode

相关文章
相关标签/搜索