相关文章
- P01: 从实用角度出发的node.js学习教程
- P02:node基本使用
- P03:node内置模块path
- P04:nodeAPI 之 Buffer
- P05:node内置模块 之 events
- P06:node内置模块 fs(1)
- P07:node内置模块 fs(2)
- P08:node实现静态服务器 ~ 创建项目
- P09:node实现静态服务器 ~ hello http
- P10:node实现静态服务器 ~ 静态读取文件或文件夹
内置模块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.normalize() 方法规范化给定的 path,解析 '..' 和 '.' 片段
特殊注意
- 关于path: _dirname _filename 总是返回文件的绝对路径
- 关于path: process.cwd() 总是返回node命令执行的路径(调用node的路径)
- require 方法的路径总是相对于当前文件

close