Nodejs05--node常用模块之--path、fs

本文详细介绍了 Node.js 的 path 模块,包括 path.resolve(), path.relative(), path.basename(), path.extname(), path.join(), path.parse() 和 path.format() 等常用方法,通过实例展示了它们的功能和用法,帮助读者理解如何在 Node.js 中处理和操作文件路径。

 path 模块 :提供了一些用于处理文件路径的小工具,对路径进行处理 合并 并 解析路径

引用:const path = require('path');


console.log(__dirname);//获得当前文件所在目录的完整目录名:

【例 2:】path.basename( path );获取路径的最后一部分 (获取该文件的基本名)

const path = require('path');

const basename = path.basename('node/base/path/my/abc.txt');//基本名
console.log(basename);//abc.txt

const basename2 = path.basename('node/base/path/my/abc.txt/');//基本名
console.log(basename2);//abc.txt

即使最后部分带反斜杠 / ,也是输出  abc.txt。

【例 2.1:】只想获取文件名,不需要扩展名则可以使用第二个参数,第二个参数可以指定文件的扩展名

const basename3 = path.basename('node/base/path/my/abc.txt','.txt');
console.log(basename3);//abc

【例 3:】path.extname();  扩展名(后缀名)获取最后一个点的扩展名

const extname = path.extname('node/base/path/my/abc.txt');//扩展名
console.log(extname);//.txt

【例 4:】path.join()  用于连接路径。使用特定的分隔符把全部给定的path片段链接到一起,并规范生成的路径

const path = require('path');
//将多个路径结合在一起
console.log(path.join('/node', 'www', 'local', 'html', '')); //\node\www\local\html
console.log(path.join('node', '11122', 'www')); //node\11122\www
//读取当前文件所在的文件目录的上一级目录(读取当前文件目录的上一级目录)
const absPath = path.join(__dirname,'../');
console.log(absPath);//H:\web_study\node\

//读取当前文件的路径
const absPath2 = path.join(__dirname,'/');
console.log(absPath2);//H:\web_study\node\02module\

const absPath6 = path.join(__dirname,'./');
console.log(absPath6);//H:\web_study\node\02module\

【例 5 】 对比一下 path.resolve()和path.join()的区别

//直接读取文件所在的磁盘(文件的根目录)
console.log(path.resolve(__dirname,'/'));//H:\
console.log(path.join(__dirname,'/'));// H:\web_study\node\02module\

//文件的绝对路径
console.log(path.resolve(__dirname,'./'));//H:\web_study\node\02module
console.log(path.join(__dirname,'./'));   //H:\web_study\node\02module\

//读取当前文件目录的上一级目录
console.log(path.resolve(__dirname,'../'));//H:\web_study\node
console.log(path.join(__dirname,'../'));// H:\web_study\node\

例 6 __filename 获取当前模块文件的带有完整绝对路径的文件名。( 带有该文件名的完整绝对路径)

const path = require('path');
console.log(__filename);//H:\web_study\node\02module\main.js

例 7path.parse();方法返回一个对象,对象的属性表示path中的元素

const path = require('path');
const filepath = '/node/base/path/index.js';
console.log(path.parse(filepath)); 
 
// {
//     root: '/',
//     dir: '/node/base/path',
//     base: 'index.js',
//     ext: '.js',
//     name: 'index'
//   }

【例 8 】path.format(pathObject);  该方法会从一个对象返回一个路径字符串,与pase.parse()相反

当pathObject提供的属性有组合时,有些属性的优先级比其他的高:

1. 如果提供了pathObject.dir,则pathObject.root 会被忽略。

2. 如果提供了 pathObject.base存在,则pathObject.ext 和 pathObject.name 会被忽略;

3. 如果没有指定 'base', 则 'name' + 'ext' 会被使用

const obj= {
    root: '/',
    dir: '/node/base/path',
    base: 'index.js',
    ext: '.js',
    name: 'index'
  }
console.log(path.format(obj));//node/base/path\index.js


// 如果没有指定 'base', 则 'name' + 'ext' 会被使用
const strObj2 = {
  root: '/',
  ext: '.js',
  name: 'index'
};
console.log(path.format(strObj2)); // 输出 /index.js

  

fs (file system) 文件操作模块

【例 】读取文件

const fs = require('fs');//fs 模块(file system):文件操作模块
fs.readFile('../node.md',function(err,data){
    console.log(data.toString())
})

来总结一下path模块的常用的函数

  • path.resolve(from, to);获取从源地址from 到 to的绝对路径
  • path.relative(from, to);获取从原地址from 到 to 的 相对路径
  • path.basename('path1'); 获取文件的基本名
  • path.extname('path1'); 获取文件的扩展名
  • path.join();连接多个路径,使用特定的分隔符把全部给定的path片段链接到一起,并规范生成的路径
  • path.parse()方法返回一个对象,对象的属性表示path中的元素
  • path.format(pathObject)  该方法会从一个对象返回一个路径字符串,与pase.parse()相反,注意优先级哦

好啦 这一篇先到这里。

我的文章都是学习过程中的总结,如果发现错误,欢迎留言指出,我及时更正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值