Node.js - path 路径模块

723 阅读2分钟

「本文正在参与技术专题征文Node.js进阶之路,点击查看详情

什么是 path 路径模块

path 模块是 Node.js 官方提供的,用来处理路径的模块,它提供了一系列的方法和属性,用来满足用户对路径的处理需求

  • path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串

  • path.basename() 方法,用来从路径字符串中,将文件名解析出来

  • 如果在 JavaScript 代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它

    const path = require('path') 
    

路径的拼接

  • path.join() 的语法格式

    把多个路径片段拼接为完整的路径字符串

    path.join([...paths])
    
  • 示例

    • 涉及路径拼接的操作,建议使用 path.join() 方法处理,不要使用 + 进行字符串拼接

    • ../ :会抵消前面的路径

      const path = require('path')    
      const pathStr1 = path.join('/a','/b/c','../','/d','e')
      console.log(pathStr1)
      
      log:
      /a/b/d/e
      
    • __dirname:表示当前文件所处的目录

      const path = require('path')
      const pathStr2 = path.join(__dirname,'./file/1.txt')
      console.log(pathStr2)
          
      log:
      /Users/user/Desktop/WS/node/file/1.txt
      

路径的解析

  • path.basename() 的语法格式

    使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名

    path.basename(path [, ext])
    
    参数1 path : 必选参数,表示一个路径的字符串
    参数2 [, ext]: 可选参数,表示文件扩展名
    返回值 : 表示路径中的最后一部分
    
  • 示例

    //获取文件名
    const path = require('path')
    const fpath = 'a/b/c/index.html'
    var lastName = path.basename(fpath)
    console.log(lastName)
    
    log:
    index.html
    
    //获取文件名但是不要扩展名
    const path = require('path')
    const fpath = 'a/b/c/index.html'
    var nameWithoutExt = path.basename(fpath,'html')
    console.log(nameWithoutExt)
    
    log:
    index.
    

获取路径中的文件扩展名

  • path.extname() 的语法格式

    使用 path.extname() 方法,可以获取路径中的扩展名部分

    path.extname(path)
    参数1: 必选参数,表示一个路径的字符串
    返回值: 返回得到扩展名字符串
    
  • 示例

    const path = require('path')
    const fpath = 'a/b/c/index.html'
    var ext = path.extname(fpath)
    console.log(ext)
    
    log:
    .html