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

Node.js中path模块的使用指南

基本使用

首先需要引入path模块:

const path = require('path');

核心方法详解

1. 路径拼接 - path.join()

path.join()方法用于安全地拼接多个路径片段,自动处理不同操作系统的路径分隔符差异。

const fullPath = path.join('/user', 'documents', 'file.txt');
// Unix: /user/documents/file.txt
// Windows: \\user\\documents\\file.txtconst fullPath1 = path.join('/user/info', '..', 'file.txt');
// ..会退到上一级
// /user/file.txt

2. 解析绝对路径 - path.resolve()

path.resolve()从右向左解析路径为绝对路径,基于当前工作目录。

const absolutePath = path.resolve('src', 'app.js');
// 输出当前工作目录下的绝对路径,如: /home/user/project/src/app.js

3. 获取目录名 - path.dirname()

path.dirname()返回路径的上一级目录。

console.log(path.dirname('/user/docs/file.txt')); // /user/docs
console.log(path.dirname(__dirname)); // 获取上一级目录

4. 获取文件名 - path.basename()

path.basename()返回路径的最后一部分(通常是文件名)。

console.log(path.basename('/user/docs/file.txt')); // file.txt
console.log(path.basename('/user/docs/file.txt', '.txt')); // file

5. 获取扩展名 - path.extname()

path.extname()返回路径中文件的扩展名

console.log(path.extname('index.html')); // .html
console.log(path.extname('index.coffee.md')); // .md

实际应用场景

1. 构建跨平台路径

const configPath = path.join(__dirname, 'config', 'app.json');

2. 获取相对路径

const relativePath = path.relative('/data/orandea', '/data/orandea/test/aaa');
// 输出: test/aaa

3. 路径规范化

const normalizedPath = path.normalize('/foo/bar//baz/asdf/quux/..');
// 输出: /foo/bar/baz/asdf
http://www.lryc.cn/news/608314.html

相关文章:

  • QT中使用OpenCV保姆级教程
  • 1分钟临时共享空间在线小工具实现
  • 安卓自动点击器:设置点击周期 / 滑动,抢票、游戏刷日常秒会
  • 2025牛客多校第六场 D.漂亮矩阵 K.最大gcd C.栈 L.最小括号串 个人题解
  • C++入门基础(三):const引用、指针和引用的关系、inline(修饰内联函数)替代宏、nullptr代替null
  • Rust进阶-part1-智能指针概述-box指针
  • Java中Lambda 表达式的解释
  • 机器学习实战:KNN算法全解析 - 从原理到创新应用
  • 机器学习消融实验:方法论演进、跨领域应用与前沿趋势
  • 大模型(五)MOSS-TTSD学习
  • 【MATLAB】(四)函数运算
  • 【MATLAB】(五)向量
  • C语言第八章指针一
  • MybatisPlus生成代码
  • MQTT协议测试环境部署
  • MybatisPlus-自动生成代码
  • 洛谷刷题8.2
  • 【AI学习】RadioDiff:代码学习
  • 福彩双色球第2025088期篮球号码分析
  • Leetcode-141.环形链表
  • 面试-python单例模式实现
  • 谈谈WebAssembly、PWA、Web Workers的作用和场景
  • 【机器学习】两大线性分类算法:逻辑回归与线性判别分析:找到分界线的艺术
  • uniapp倒计时计算
  • InfluxDB 与 Node.js 框架:Express 集成方案(一)
  • Oracle 11g RAC集群部署手册(一)
  • 电力系统分析学习笔记
  • Angular初学者入门第一课——搭建并改造项目(精品)
  • 学习笔记:无锁队列的原理以及c++实现
  • 基于Dockerfile 部署一个 Flask 应用