当前位置: 首页 > article >正文

Node.js之path路径模块

让我为大家介绍一下path路径模块吧!
什么是path路径模块?
path 模块是 Node.s 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

介绍三个关于path模块的方法:
path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串
path.basename() 方法,用来从路径字符串中,将文件名解析出来
path.extname() 方法,可以获取路径中的扩展名部分

如果要在JavaScript代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它:

const path = require("path")

一、path.join()

语法:path.join([…paths])
…paths路径片段的序列
返回值: <string>

代码示例:

// 导入path模块
const path = require("path")
// ../ 会把前面一个抵消
const pathStr = path.join("/1","/2/3","../","/4")
console.log(pathStr) //\1\2\4

注意:今后凡是涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接使用 + 进行字符串的拼接
我来给大家演示一下 + 进行拼接带来的问题

// 导入fs模块
const fs = require("fs")
const path = require("path")
// __dirname表示当前文件所在的目录 我们一不小心多加了一个.
fs.readFile(__dirname + "./index.js",(err,data)=>{
    if(err){
        // 错误信息
        console.log(err.message) //ENOENT: no such file or directory, open node.js\path.\index.js'
    }
    console.log("读取成功")
})
// 我们使用path.join()
fs.readFile(path.join(__dirname,"./index.js") ,(err,data)=>{
    console.log(err) //null null代表成功
    console.log("读取成功") //读取成功
})

二、path.basename()

语法: path.basename(path[,ext])
path<string>必选参数,表示一个路径的字符串
ext<string>可选参数,表示文件扩展名
返回:<string>表示路径中的最后一部分

代码示例:

// 导入path模块
const path = require("path")
const pathStr = path.basename("../1/2/3.html")
console.log(pathStr) // 3.html
const pathStr1 = path.basename("../1/2/3.html",".html")
console.log(pathStr1) // 3

三、path.extname()

语法: path.extname(path)
path<string>必选参数,表示一个路径的字符串
返回:<string>返回得到的扩展名字符串

// 导入path模块
const path = require("path")
const pathStr = path.extname("1.html")
console.log(pathStr) // .html

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!


http://www.kler.cn/news/133582.html

相关文章:

  • ubuntu22.04换源
  • NSSCTF第13页(2)
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(十二)
  • golang学习笔记——select 判断语句
  • 动态加载js文件的方法封装
  • 系统安全-常见的几种sql注入攻击的方式
  • 【IDEA 使用easyAPI、easyYapi、Apifox helper等插件时,导出接口文档缺少代码字段注释的相关内容、校验规则的解决方法】
  • 1、cvpr2024
  • 2023.11.19 hadoop之MapReduce
  • [ 一刷完结撒花!! ] Day50 力扣单调栈 : 503.下一个更大元素II |42. 接雨水 | 84.柱状图中最大的矩形
  • Fork项目新分支如何同步
  • upgrade k8s (by quqi99)
  • SEnet注意力机制(逐行代码注释讲解)
  • Golang中的闭包详解
  • 浅谈滑动窗口
  • Java Swing抽奖程序
  • 一句话总结敏捷实践中不同方法
  • Django 简单入门(一)
  • C++虚函数(定义,作用,原理,案例)
  • 实时人眼追踪、内置3D引擎,联想ThinkVision裸眼3D显示器创新四大应用场景
  • 【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)
  • 【蓝桥杯选拔赛真题21】C++行李运费 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • SpringSecurity+jwt使用
  • Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件
  • 【Axure高保真原型】附件卡片
  • 深度解析 InterpretML:打开机器学习模型的黑箱
  • C++之旅(学习笔记)第8章 概念和泛型编程
  • 基于SSM+Vue的鲜花销售系统/网上花店系统
  • Unity Quaternion接口API的常用方法解析_unity基础开发教程
  • RobotFramework之用例执行时添加命令行参数(十三)