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

Node.js path.join

path.join 是 Node.js 中的 path 模块提供的一个方法,用于连接多个路径片段并规范化路径。与 path.resolve不同,path.join 只是将给定的路径片段合并为一个单一的路径,并且不会自动转换为绝对路径,它只会拼接并返回一个规范化的路径。

语法

const path = require('path');
path.join([path1, path2, [...pathN]])

参数

  • path1, path2, …, pathN:一个或多个路径片段,它们将按顺序拼接。每个路径片段可以是字符串,也可以是变量。

返回值

  • 返回拼接后的规范化路径。即去除了多余的路径分隔符(如重复的 /),并根据操作系统使用正确的路径分隔符(在 Unix 和 macOS 系统中是 /,在 Windows 系统中是 \\)。

关键点

  • path.join 会按顺序将所有路径片段连接起来。
  • 它会移除多余的路径分隔符。
  • 它会标准化路径,处理诸如 ... 的相对路径符号。

示例

示例 1:基本用法
const path = require('path');

console.log(path.join('folder', 'file.txt'));
// 输出:'folder/file.txt' (在 Windows 上是 'folder\\file.txt')

解释:path.join('folder', 'file.txt') 将两个路径片段 'folder''file.txt' 合并成一个路径 folder/file.txt(或在 Windows 上是 folder\file.txt)。

示例 2:处理多余的分隔符
const path = require('path');

console.log(path.join('folder/', '/file.txt'));
// 输出:'folder/file.txt'

解释:'folder/''/file.txt' 会被合并为 'folder/file.txt',多余的路径分隔符被去掉了。

示例 3:包含相对路径符号 …
const path = require('path');

console.log(path.join('folder', '..', 'file.txt'));
// 输出:'file.txt'

解释:'folder''..' 会被合并并移除,因为 '..' 表示上级目录,所以最终得到 'file.txt',表示返回到当前目录。

示例 4:路径过多时的合并
const path = require('path');

console.log(path.join('folder', 'subfolder', 'file', 'file.txt'));
// 输出:'folder/subfolder/file/file.txt'

解释:多个路径片段 'folder''subfolder''file''file.txt' 被顺序拼接起来,形成 'folder/subfolder/file/file.txt'

示例 5:处理 . 和 …
const path = require('path');

console.log(path.join('folder', '.', 'file.txt'));
// 输出:'folder/file.txt'

解释:'.' 代表当前目录,path.join 会自动忽略 '.',所以输出路径为 'folder/file.txt'

示例 6:路径起始部分为根目录(Unix 和 Windows 系统差异)
const path = require('path');

// 在 Unix 或 macOS 上
console.log(path.join('/folder', 'subfolder', 'file.txt'));
// 输出:'/folder/subfolder/file.txt'

// 在 Windows 上
console.log(path.join('C:\\folder', 'subfolder', 'file.txt'));
// 输出:'C:\folder\subfolder\file.txt'

输出:'C:\folder\subfolder\file.txt'

解释:在 Unix 或 macOS 系统中,路径从 / 开始,因此 'folder' 会从根目录开始拼接;在 Windows 系统中,路径以驱动器(如 C:)开头,因此会拼接成 C:\folder\subfolder\file.txt

总结

  • path.join 用于将多个路径片段合并成一个路径,并自动规范化路径。
  • 它可以处理多余的分隔符和相对路径符号(如 ...)。
  • path.resolvepath.join 主要区别在于,path.resolve 会返回一个绝对路径,而 path.join 返回的是一个相对路径(如果提供的路径不是绝对路径)。

path.join 是构建跨平台路径时非常有用的工具,尤其适用于将路径片段拼接起来时,确保路径格式正确、统一且没有冗余的路径符号。


http://www.kler.cn/a/507558.html

相关文章:

  • Qt Quick 和 Qt Designer
  • doris: Flink导入数据
  • Golang学习笔记_26——通道
  • 换了城市ip属地会变吗?为什么换了城市IP属地不变
  • [Collection与数据结构] PriorityQueue与堆
  • 学习threejs,使用OrbitControls相机控制器
  • UE控件学习
  • 你会选择java还是node做后台管理
  • 青少年CTF练习平台 文章管理系统(sqlmap使用os-shell找flag)PHP
  • 选择saas 还是源码主要考虑
  • 网络编程:基于TCP/UDP实现客户端和服务端通信(C语言实现简单易懂)
  • 如何在若依框架中自定义添加一个页面
  • 相机拍照参数:WB、FF、S、ISO、EV、焦距
  • 08、如何预防SQL注入
  • 《机器学习》——PCA降维
  • 1.快慢指针-力扣-283-移动零
  • 软件测试入门—功能需求分析:以一个旅游管理系统为例
  • LeetCode 1426 题:数元素解题全解析
  • 【机器学习实战入门项目】MNIST数字分类机器学习项目
  • 用C++实现一个基于模板的观察者设计模式
  • MySQL的不同SQL模式导致行为不同?
  • 【北京迅为】iTOP-4412全能版使用手册-第七十六章 Qt界面切换
  • Kubernetes(k8s)和Docker Compose本质区别
  • 20.<Spring图书管理系统①(登录+添加图书)>
  • 6.3、OTN 保护
  • Linux 文件权限详解