Node.js-path文件路径模块以及常用api

Node.js-path文件路径模块以及常用api

引入:Node.js相对路径报错问题

当我们在nodejs文件中使用相对路径有时会出现问题。

例如:

在js所在目录下运行nodejs可以成功读取

在这里插入图片描述

但是在其他目录运行js文件存在相对路径则会报错。

在这里插入图片描述

解决办法:

方法一:使用绝对路径

在这里插入图片描述

问题:移植性差

方法二:使用+号拼接地址

知识点:__dirname指的是当前文件所在文件夹的绝对路径

在这里插入图片描述

所以使用+号拼接则可以拼成绝对路径,这样就可以解决代码移植性的问题。

在这里插入图片描述

但是如果后面/text.txt写作./text.txt,拼接后的地址则为:

C:\Users\flowerheap\Desktop\git\nodejs\nodejs1.\text.txt
报错!

在这里插入图片描述

所以我们引入path模块,来对地址进行操作。

一、path模块介绍

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

引入path模块:

const path = require('path')

常用API:

path.join(aStr,bStr,cStr...)
//用来拼接字符串,将aStr,bStr,cStr拼接成一个完整的路径。

二、常用API详解

1、join方法(拼接地址)

path.join(aStr,bStr,cStr...)
//接收任意个参数,aStr,bStr,cStr拼接成一个完整的路径。

例子:

const path = require('path')

let x = path.join('/a','./b','/c')

console.log(x);

let y = path.join('/a','./b','../','/c');

console.log(y);

在这里插入图片描述

由图可见,join方法可以消除.的影响,而且也能进行…/文件夹跳转的运算。所以上面那个使用+号添加地址的问题可以用join方法来解决。

2、basename方法(解析文件名,返回路径最后的文件名)

接收参数:

path.basename(url[,filter])
//参数一 url: 必选参数,文件路径
//参数二 filter : 可选参数,用于过滤文件的后缀

例子:

const path = require('path')

let x = path.basename( path.join(__dirname,'./text.txt'))

console.log(x);

let y = path.basename( path.join(__dirname,'./text.txt'),'.txt')

console.log(y);

执行结果:

在这里插入图片描述

3、extname方法(获取文件的扩展名)

接收参数:

path.extname(url)
//一个参数 url:必需参数,文件路径

例子:

const path = require('path')

let x = path.extname(path.join(__dirname,'./text.txt'));

console.log(x);

执行结果:

在这里插入图片描述

三、path三个常用api一起用,获取文件名

const path = require('path')

const url = path.join(__dirname,'./text.txt');

const filter = path.extname(url);

let x = path.basename( url , filter)

console.log(x);

执行结果:

在这里插入图片描述
如有错误或者建议,欢迎大佬指正!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FlowerHeap

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

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

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

打赏作者

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

抵扣说明:

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

余额充值