node路径模块path

本文介绍了Node.js中path模块的相关内容。path模块是系统模块,可直接引入。其提供了处理文件路径的工具,如normalize方法规范路径,join方法连接路径,parse方法获取路径信息等。还提到用__dirname和join拼接路径可解决相对和绝对路径的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

path属于node中的工具模块,path是node中的路径模块,模块提供了一些用于处理文件路径的小工具

关于引入

系统模块,直接引入,不需要下载

let path = require('path');

path方法

path.normalize()整理路径中的 ‘ … ’ 和 ‘ . ’ ,使路径变得更加规范

let urls = '../../././path/../.././a/c/d.html';//随便写一个路径,可以说这个路径的很多地方是无效的没必要的
console.log(path.normalize(urls));//使用path.normalize()整理路径urls

../../../a/c/d.html			//打印结果

路径连接
path.join()用于路径连接,在不同的操作系统中分隔符是不同的,所以使用+‘分隔符’+这种方式连接路径在不同系统中可能是存在会报错的,而使用path.join()的方式,使其更加规范

console.log(path.join('User','Desktop','node','index.js'))

User/Desktop/node/index.js//打印结果使用了 ' / '连接字符,我使用的是mac,与window系统一样,在Unix系统中会使用 '\'连接

介绍一下(__dirname),可以帮助将写的绝对路径补全成相对路径,在前端开发中,要求写相对路径,因为文件移动了,绝对路径就会崩掉,而在node中,写相对路径会存在找不到文件的情况,虽然肯定是我的问题。虽然写绝对路径能解决,但是同样存在和前端相同的问题,那么(__dirname)加上路径拼接path.join()可以解决这个问题

console.log(path.join(__dirname,'index.js'));

/Users/xmly/Desktop/node/index.js			//打印结果,将文件补全成绝对路径,并且文件发生移动时,路径也会发生改变

路径信息


console.log(path.dirname(path.join(__dirname,'index.js')));	
	//返回当前文件的文件夹部分
	//打印结果/Users/xmly/Desktop/node

console.log(path.basename(path.join(__dirname,'index.js')));
	//返回当前路径的文件部分
	//打印结果index.js
console.log(path.extname(path.join(__dirname,'index.js')))
	//返回当前路径的文件后缀
	//打印结果 .js

console.log(path.parse(path.join(__dirname,'index.js')));
	//返回一个对象集合
		{
  			root: '/',							//连接符
  			dir: '/Users/xmly/Desktop/node',	//路径文件夹部分
  			base: 'index.js',					//路径文件部分
  			ext: '.js',							//路径文件的后缀名
  			name: 'index'						//路径文件文件名
		}

关于路径信息的四个方法中,path.parse()是比较常用的,因为他可以引用出其他三个

console.log(path.parse(path.join(__dirname,'index.js')).dir);
	//返回路径文件夹,与path.dirname()效果相同
console.log(path.parse(path.join(__dirname,'index.js')).base);
	//返回路径中文件,与path.basename()效果相同
console.log(path.parse(path.join(__dirname,'index.js')).ext);
	//返回路径中文件后缀名,与path.extname()效果相同

然而在path路径模块中,上述的方法比较重要,下述方法理解即可

判断路径是不是绝对路径,path.isAbsolute()方法,是则返回true

console.log(path.isAbsolute(path.join(__dirname,'index.js'));

将对象转为路径模式,与path.parse()效果相反

	let urls = {
  			root: '/',							
  			dir: '/Users/xmly/Desktop/node',	
  			base: 'index.js',					
  			ext: '.js',							
  			name: 'index'						
		}
		console.log(path.format(urls))
		//打印结果 /Users/xmly/Desktop/node/index.js

将文件补全成绝对路径

console.log(path.resolve('index.js'))
//打印结果/Users/xmly/index.js
//并不是相对于现在文件夹的绝对路径,所以并没有(dirname)好用

将绝对路径改为相对路径
path.relative();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值