内置模块之path

  • 内置模块,require之后直接使用
  • 作用:用于处理文件 / 目录的路径
  • __filename 当前文件路径 E:\测试项目\test\Node\05-path.js

    path 模块常用api
  • 结合案例看

  1. basename() 获取路径中基础名称 返回最后一个路径名称(第二个参数可以去除后缀名)
  2. dirname() 获取路径中目录名称 返回路径中最后一个的上层目录
  3. extname()获取路径中扩展路径 返回path路径中相应的文件后缀名,返回路径中最后一个.到结尾的内容
  4. isAbsolute() 获取路径是否为绝对路径
  5. join()拼接多个路径片段
  6. resolve() 返回绝对路径 resolve([from],to)
  7. parse() 解析路径 接收一个路径,返回一个对象,包含不同的信息 root dir base
  8. format() 解析路径
  9. normalize() 规范化路径 ```javascript const path = require(‘path’)

console.log(__filename); // E:\测试项目\test\Node\05-path.js

// 1.获取路径中的基础名称 console.log(path.basename(__filename, ‘.css’)); // 05-path.js,第二个参数,可以去除后缀名 console.log(path.basename(‘/a/b/c’)); // 返回最后一个路径名称,如果结尾有目录分割符号,会自动解析

//2.目录路径 console.log(path.dirname(__filename)); // 获取的是当前目录的路径 E:\测试项目\test\Node console.log(path.dirname(‘/a/a/c/s’)); // /a/a/c

// 3.获取扩展名 console.log(path.extname(‘/a/v/s/q.css’));// 输出.css 会匹配最后一个.结束的位置

// 4.解析路径 工作中对文件路径进行解析 const obj = path.parse(‘./a/v/sw/index.html’) console.log(obj); // { root: ‘’, dir: ‘./a/v/sw’, base: ‘index.html’, ext: ‘.html’, name: ‘index’ }

// 5.序列化路径 const parse = path.parse(‘./a/b/c’) console.log(path.format(parse)); // ./a/b\c \和操作系统相关

// 6. 判断是否为绝对路径 console.log(path.isAbsolute(‘/qq/q’)); // true

// 7.拼接路径 console.log(path.join(‘a/b’,’c’,’index.html’));// a\b\c\index.html

// 8.规范化路径 console.log(path.normalize(‘a/b/c/d’)); // a\b\c\d console.log(path.normalize(‘a\\/b/c/d’)); // a\b\c\d console.log(path.normalize(‘a/\\b/c/d’)); // b被当做转义字符转义了 a\c\d console.log(path.normalize(‘a/b//c..//d’)); // a\b\c..\d

// 9.绝对路径,接收两部分参数, /* resolve([form], to) to,如果当前工作目录并不是绝对的,会自动把盘符加上 如果想让第二个参数和第一个参数有关系,那么在第二个参数上面不要加任何路径分隔符

*/ console.log(path.resolve()); // 如果什么都不传,相当于把当前工作目录传进去 // E:\测试项目\test\Node

console.log(path.resolve(‘/a’,’b’)); // E:\a\b

console.log(path.resolve(‘/a’,’/b’)); // E:\b

// 正常使用情况是获取他的完整路径 console.log(path.resolve(‘05-path.js’)); // 获取这个文件的完整路径 // E:\测试项目\test\Node\05-path.js ```