04-Node.js—path模块

1、什么是path模块

  • path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
  • 我将介绍如下几个较为常用的几个 API:

在这里插入图片描述

2、path.resolve 拼接规范的绝对路径 常用

前面一节说到使用__dirname将路径转化为绝对路径,这样可以避免相对路径产生的 Bug,但是这种拼接出来的路径是不规范的。

举个栗子:

const fs = require('fs')
const path = require('path')
fs.writeFileSync(__dirname+'/index.html','hello')
console.log(__dirname+'/index.html');

输出结果:

G:\前端开发\node.js\path/index.html

可以看出有\/两种符号,这显然是不规范的。

我们使用path.resolve来解决这个问题

console.log(path.resolve(__dirname,'./index.html'));
//也可以这样写
console.log(path.resolve(__dirname, 'index.html'));

输出结果:

G:\前端开发\node.js\path\index.html

如果我们这样写会出现问题:

console.log(path.resolve(__dirname, '/index.html'));

输出结果:

G:\index.html

resolve里面,第一个参数是绝对路径,后面的参数都为相对路径,如果在第二个参数前面加上/符号,则会让第二个参数成为绝对路径。如果后面还有参数则会将这两个进行拼接,形成一个新的绝对路径。

console.log(path.resolve(__dirname, '/index.html','./text'));

输出结果:

G:\index.html\text

3、path.sep 获取操作系统的路径分隔符

  • sep可以获取我们操作系统的路径分隔符,不同的操作系统分隔符也是不一样的。

示例:

console.log(path.sep);

输出结果:

\

在Linux系统里面则是/

4、 path.parse 解析路径并返回对象

我们先来介绍一个新朋友__filename,它能够返回我们文件的绝对路径

console.log(__filename);
//G:\前端开发\node.js\path\path.js

我们来具体看看parse如何使用:

const pathName = 'G:\\前端开发\\node.js\\path\\path.js'
// 需要加\对路径进行转义
console.log(path.parse(pathName));

在这里插入图片描述
返回一个对象。

5、path.basename 获取路径的基础名称

我们来具体看看path.basename如何获取路径的基础名称

示例:

const pathName = 'G:\\前端开发\\node.js\\path\\path.js'
console.log(path.basename(pathName));

输出结果:

path.js

6、path.dirname 获取路径的目录名

我们来具体看看path.dirname如何获取路径的目录名

示例:

const pathName = 'G:\\前端开发\\node.js\\path\\path.js'
console.log(path.dirname(pathName));

输出结果:

G:\前端开发\node.js\path

7、path.extname 获得路径的扩展名

我们来具体看看path.extname如何获得路径的扩展名

示例:

const pathName = 'G:\\前端开发\\node.js\\path\\path.js'
console.log(path.extname(pathName));

输出结果:

.js

8、 path.join()路径拼接

  • 额外补充一点课上没讲到的知识点。

使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:
path.join([...paths])

示例:

const pathStr = path.join('./平','./步','./青','./云')
console.log(pathStr);

输出结果:

平\步\青\云

注意:如果加上../会将前面的路径删除。
示例:

const pathStr = path.join('./平','./步','../','./青','./云')
console.log(pathStr);

输出结果:

平\青\云

参考

尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方青云、

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值