内置模块path

一、解决动态拼接路径的问题


1. 使用相对路径的问题`

  • 执行启动node进程时,是以当前终端的路径进行拼接代码中的相对路径
  • 当前路径有出入时,会出现路径拼接错误
// 引入fs模块
const fs = require('fs');

//调用读取文件内容的方法
fs.readFile('/text.txt', 'utf-8', (err, data) => {
  //错误信息获取
  if (err) {
    console.log(err);
    return;
  }
  console.log(data);
});

在这里插入图片描述

2. 使用绝对路径解决

// 引入fs模块
const fs = require('fs');

fs.readFile('/桌面/node+mysql/code/第4章/4-1.路径拼接的问题/text.txt', 'utf8' , (err, data) => {
  // 如果读取成功,err的值为nul,失败时,err的值为错误对象
  if (err) {
    console.error(err)
    return
  }
  console.log(data)
})

3. 绝对路径的代指字段

// 引入fs模块
const fs = require('fs');

fs.readFile(__dirname + '/text.txt', 'utf8' , (err, data) => {
  // 如果读取成功,err的值为nul,失败时,err的值为错误对象
  if (err) {
    console.error(err)
    return
  }
  console.log(data)
})

二、路径的拼接 path.join()


  • 方法
const path = require('path');
const newPath = path.join('a', 'b', 'c')
console.log(newPath)  // a\b\c
  • 使用
const path = require('path');
const fs = require('fs');

//调用读取文件内容的方法
fs.readFile(path.join(__dirname, '/text.txt'), 'utf-8', (err, data) => {
  //错误信息获取
  if (err) {
    console.log(err);
    return;
  }
  console.log(data);
});

三、文件路径和扩展名的获取


  • 获取路径中的最后一部分 path.basename()
const path = require('path');

//获取路径的最后一部分
console.log(path.basename('/test/something'));              // something
console.log(path.basename('/test/something.txt'));          // something.txt 
console.log(path.basename('/test/something.txt', '.txt'));  //something  
  • 获取路径中的目录部分 dirname()
const path = require('path');

//获取路径的目录
console.log(path.dirname('/test/something'));           // /test
console.log(path.dirname('/test/something/file.txt'));  // /test/something
  • 获取路径中的扩展名部分 extname()
```javascript
const path = require('path');

//获取路径中的后缀名
console.log(path.extname('/test/something'));
console.log(path.extname('/test/something.html'));    // .html
  • path 模块的其他方法: http://nodejs.cn/learn/the-nodejs-path-module/#pathbasename
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值