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

【JS】path的使用说明

JavaScript 中的路径处理主要涉及文件系统操作,这通常在 Node.js 环境中进行。Node.js 提供了一个名为 path 的内置模块,用于处理和转换文件路径。以下是一个关于如何使用 path 模块的基础教程。

1. 引入 path 模块

首先,你需要引入 path 模块:

const path = require('path');

2. 常用方法

2.1 path.basename()

获取路径的最后一部分(文件名)。

const filePath = '/user/local/bin/file.txt';
const baseName = path.basename(filePath);
console.log(baseName);  // 输出: file.txt
2.2 path.dirname()

获取路径的目录名。

const dirName = path.dirname(filePath);
console.log(dirName);  // 输出: /user/local/bin
2.3 path.extname()

获取文件的扩展名。

const extName = path.extname(filePath);
console.log(extName);  // 输出: .txt
2.4 path.join()

将多个路径片段连接成一个路径。

const joinedPath = path.join('/user', 'local', 'bin', 'file.txt');
console.log(joinedPath);  // 输出: /user/local/bin/file.txt
2.5 path.resolve()

将路径或路径片段解析为绝对路径。

const absolutePath = path.resolve('user', 'local', 'bin', 'file.txt');
console.log(absolutePath);  // 输出: /当前工作目录/user/local/bin/file.txt
2.6 path.normalize()

规范化路径,处理 ... 片段。

const normalizedPath = path.normalize('/user//local/bin/../file.txt');
console.log(normalizedPath);  // 输出: /user/local/file.txt
2.7 path.isAbsolute()

判断路径是否为绝对路径。

console.log(path.isAbsolute('/user/local/bin'));  // 输出: true
console.log(path.isAbsolute('user/local/bin'));   // 输出: false
2.8 path.relative()

返回从一个路径到另一个路径的相对路径。

const fromPath = '/user/local/bin';
const toPath = '/user/local/bin/file.txt';
const relativePath = path.relative(fromPath, toPath);
console.log(relativePath);  // 输出: file.txt

3. 示例

以下是一个综合示例,展示如何使用上述方法:

const path = require('path');const filePath = '/user/local/bin/file.txt';// 获取文件名
const baseName = path.basename(filePath);
console.log('文件名:', baseName);  // 输出: 文件名: file.txt// 获取目录名
const dirName = path.dirname(filePath);
console.log('目录名:', dirName);  // 输出: 目录名: /user/local/bin// 获取扩展名
const extName = path.extname(filePath);
console.log('扩展名:', extName);  // 输出: 扩展名: .txt// 连接路径
const joinedPath = path.join('/user', 'local', 'bin', 'file.txt');
console.log('连接路径:', joinedPath);  // 输出: 连接路径: /user/local/bin/file.txt// 解析绝对路径
const absolutePath = path.resolve('user', 'local', 'bin', 'file.txt');
console.log('绝对路径:', absolutePath);  // 输出: 绝对路径: /当前工作目录/user/local/bin/file.txt// 规范化路径
const normalizedPath = path.normalize('/user//local/bin/../file.txt');
console.log('规范化路径:', normalizedPath);  // 输出: 规范化路径: /user/local/file.txt// 判断是否为绝对路径
console.log('是否为绝对路径:', path.isAbsolute('/user/local/bin'));  // 输出: 是否为绝对路径: true
console.log('是否为绝对路径:', path.isAbsolute('user/local/bin'));   // 输出: 是否为绝对路径: false// 获取相对路径
const relativePath = path.relative('/user/local/bin', '/user/local/bin/file.txt');
console.log('相对路径:', relativePath);  // 输出: 相对路径: file.txt

4. 总结

path 模块在处理文件路径时非常有用,特别是在 Node.js 环境下。通过上述方法,你可以方便地获取路径信息、连接路径、解析绝对路径以及进行路径规范化等操作。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 105.游戏安全项目-基址的技术原理-分析技巧
  • Unity 之 【Android Unity FBO渲染】之 [Unity 渲染 Android 端播放的视频] 的一种方法简单整理
  • Centos7更换阿里云的 YUM 镜像仓库
  • 计算机网络30——Linux-gdb调试命令makefile
  • Jenkins Docker Pipeline Clone Build Deploy mysqldump
  • 企业项目中常用的表结构设计
  • 摩托罗拉大顾问ADVISOR BP机拆解评测
  • MySQL索引测试
  • 智能体时代,AI正从“神坛”走向“人间”
  • 工具集锦 论文 施工ing
  • element-plus弹窗内分页表格保留勾选项
  • k8s中的存储
  • Vim使用技巧——第一章 Vim解决问题的方式
  • 力扣 11.盛最多水的容器
  • jpa适配mysql切换达梦可能的坑
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Apache的基本使用
  • AWS实战 - 利用IAM对S3做访问控制
  • Centos6.8 使用rpm安装mysql5.7
  • dva中组件的懒加载
  • ES6语法详解(一)
  • express如何解决request entity too large问题
  • Java|序列化异常StreamCorruptedException的解决方法
  • JS基础之数据类型、对象、原型、原型链、继承
  • linux学习笔记
  • MySQL数据库运维之数据恢复
  • PhantomJS 安装
  • Python十分钟制作属于你自己的个性logo
  • Redis 懒删除(lazy free)简史
  • Shell编程
  • 阿里云前端周刊 - 第 26 期
  • 聊聊directory traversal attack
  • 前端之Sass/Scss实战笔记
  • 深度学习入门:10门免费线上课程推荐
  • 树莓派 - 使用须知
  • 网络应用优化——时延与带宽
  • 译米田引理
  • 源码安装memcached和php memcache扩展
  • 从如何停掉 Promise 链说起
  • ​比特币大跌的 2 个原因
  • #define与typedef区别
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #数据结构 笔记三
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (20050108)又读《平凡的世界》
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (八)Flink Join 连接
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (十) 初识 Docker file
  • (一) springboot详细介绍
  • (一)UDP基本编程步骤
  • (转)关于多人操作数据的处理策略