当前位置: 首页 > 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.dtcms.com/a/311503.html

相关文章:

  • InfluxDB 与 Node.js 框架:Express 集成方案(二)
  • 如何在`<link type=“icon“ href=`的`href`中写SVG并使用path标签? 笔记250802
  • 嵌入式 C 语言入门:递归与变量作用域学习笔记 —— 从概念到内存特性
  • 深入 Go 底层原理(十三):interface 的内部表示与动态派发
  • Javaweb————Apache Tomcat服务器介绍及Windows,Linux,MAC三种系统搭建Apache Tomcat
  • 技术文章:覆铜板的阻燃性
  • UniappDay07
  • 【AI】AIService(基本使用与指令定制)
  • cv快速input
  • 【云计算】云主机的亲和性策略(三):云主机 宿主机
  • Springboot原理和Maven高级
  • 操作系统:远程过程调用( Remote Procedure Call,RPC)
  • MQTT 入门教程:三步从 Docker 部署到 Java 客户端实现
  • Linux基础学习笔记二
  • MySQL PostgreSQL JDBC URL 配置允许批量操作
  • C语言输入安全10大边界漏洞解析与防御
  • 基于LSTM模型与加权链路预测的动态热门商品成长性分析
  • SpringBoot相关注解
  • 项目管理平台是什么?概念、定义、作用、主流厂商解读
  • docker:将python开发的大模型应用,打成docker容器
  • C#中的除法
  • PostGIS面试题及详细答案120道之 (081-090 )
  • cuda编程笔记(12)--学习cuFFT的简单使用
  • 【Mybatis】MyBatis分页的三种实现方式,Log4j的使用
  • Elasticsearch 混合检索一句 `retriever.rrf`,把语义召回与关键词召回融合到极致
  • 模拟激光相机工作站版本6.0 5.2.32 6.0.44 6.031 5.2.20
  • 题解:P4447 [AHOI2018初中组] 分组
  • 归并排序(简单讲解)
  • [论文阅读] 人工智能 + 软件工程 | GitHub Marketplace中CI Actions的功能冗余与演化规律研究
  • 【RK3568 看门狗驱动开发详解】