Node.js里面 Path 模块的介绍和使用

Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块:

javascript 复制代码
var path = require("path")

方法描述

序号 方法 & 描述
1 path.normalize(p) 规范化路径,注意'..' 和 '.'。
2 path.join([path1][, path2][, ...]) 用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是"\"。
3 path.resolve([from ...], to)to 参数解析为绝对路径。
4 path.isAbsolute(path) 判断参数 path 是否是绝对路径。
5 path.relative(from, to) 用于将相对路径转为绝对路径。
6 path.dirname(p) 返回路径中代表文件夹的部分,同 Unix 的dirname 命令类似。
7 path.basename(p[, ext]) 返回路径中的最后一部分。同 Unix 命令 bashname 类似。
8 path.extname(p) 返回路径中文件的后缀名,即路径中最后一个'.'之后的部分。如果一个路径中并不包含'.'或该路径只包含一个'.' 且这个'.'为路径的第一个字符,则此命令返回空字符串。
9 path.parse(pathString) 返回路径字符串的对象。
10 path.format(pathObject) 从对象中返回路径字符串,和 path.parse 相反。

属性

序号 属性 & 描述
1 path.sep 平台的文件路径分隔符,'\\' 或 '/'。
2 path.delimiter 平台的分隔符, ; or ':'.
3 path.posix 提供上述 path 的方法,不过总是以 posix 兼容的方式交互。
4 path.win32 提供上述 path 的方法,不过总是以 win32 兼容的方式交互。

实例

创建 main.js 文件,代码如下所示:

javascript 复制代码
var path = require("path");



// 格式化路径

console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..'));



// 连接路径

console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..'));



// 转换为绝对路径

console.log('resolve : ' + path.resolve('main.js'));



// 路径中文件的后缀名

console.log('ext name : ' + path.extname('main.js'));

代码执行结果如下:

javascript 复制代码
$ node main.js

normalization : /test/test1/2slashes/1slash

joint path : /test/test1/2slashes/1slash

resolve : /web/com/1427176256_27423/main.js

ext name : .js
相关推荐
天下代码客18 小时前
使用electronc框架调用dll动态链接库流程和避坑
前端·javascript·vue.js·electron·node.js
weixin1997010801619 小时前
【性能提升300%】仿1688首页的Webpack优化全记录
前端·webpack·node.js
不倒翁玩偶20 小时前
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
前端·npm·node.js
一心赚狗粮的宇叔1 天前
03.Node.js依赖包补充说明及React&Node.Js项目
前端·react.js·node.js
-嘟囔着拯救世界-1 天前
【2026 最新版】OpenAI 祭出王炸 GPT-5.3-Codex!Win11 + VSCode 部署保姆级教程
vscode·gpt·chatgpt·node.js·node·codex·gpt5
全栈前端老曹2 天前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
行者无疆_ty2 天前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
-凌凌漆-2 天前
【npm】npm的-D选项介绍
前端·npm·node.js
lucky67072 天前
Windows 上彻底卸载 Node.js
windows·node.js
Android系统攻城狮2 天前
鸿蒙系统Openharmony5.1.0系统之解决编译时:Node.js版本不匹配问题(二)
node.js·鸿蒙系统·openharmony·编译问题·5.1