Node.js 的 path 模块提供了一些用于处理文件路径的小工具
先简单的看一下path模块提供的方法
方法 | 描述 |
---|---|
normalize(p: string): string; | 规范化路径,处理‘.’‘..’ |
join(…paths: string[]): string; | 连接路径,自动判断当前系统路径分隔符,Unix系统‘/’,Windows系统‘\’ |
resolve(…pathSegments: string[]): string; | 最后一个参数为{to},其他参数为一个{from}数组。将to参数解析为绝对路径,传入的参数会从右往左处理 |
isAbsolute(p: string): boolean; | 判断参数path是否是绝对路径。 |
relative(from: string, to: string): string; | 返回从{from}到{to}的相对路径 |
dirname(p: string): string; | 返回路径中代表文件夹的部分,类似Unix的dirname命令 |
basename(p: string, ext?: string): string; | 返回路径中的最后一部分。类似Unix的bashname命令 |
extname(p: string): string; | 返回路径中的文件后缀名,例如: /a/b/path.js 返回.js ,如果路径中不包含‘.’或该路径只包含一个‘.’ 且这个‘.’为路径的第一个字符,则返回空字符串,如果这个‘.’为最后一个字符,则返回‘.’ |
parse(p: string): ParsedPath; | 返回路径字符串的对象 |
format(pP: FormatInputPathObject): string; | 从对象中返回规范化路径,和parse()相反 |
toNamespacedPath(path: string): string; | 返回给定路径的等价名称空间前缀路径,如果输入的不是字符串则返回path字符串,在其他操作系统上执行永远返回path字符串[仅在Windows系统上] |
属性 | 描述 |
---|---|
path.sep | 返回操作系统的路径分隔符,/ \ \\ |
path.delimiter | 返回操作系统的文件分隔符。; : |
path.posix | 提供上述 path 的方法及属性,总是以 posix 兼容的方式交互 |
path.win32 | 提供上述 path 的方法,总是以 win32 兼容的方式交互 |
COPY
1 | var path = require("path") |
COPY
1 | console.log("normalize():",path.normalize("../test1/./test2/../test3///")); // 规范化路径 |
COPY
1 | console.log("join():",path.join("/test1", "test2", "test3/test4", "../test5", "..","test6/")); // 连接路径 |
COPY
1 | console.log("resolve():", path.resolve(".//test1", "test2", "test3/test4", "../test5", "..","test6/")); // 获取绝对路径(一般情况下只会传入一个值,来获取绝对路径) |
COPY
1 | console.log("isAbsolute():",path.isAbsolute("../test1/test2"));// 判断是否是绝对路径 |
COPY
1 | console.log("relative",path.relative("/test1/test2","/test3/test4")); // 获取相对路径(一般情况下只会传入一个值,来获取相对路径) |
COPY
1 | console.log("dirname",path.dirname("/test1/test2/test3")); // 返回路径的文件夹部分(test3被视为无后缀名的文件,所有只返回了test1和test2) |
COPY
1 | console.log("basename():",path.basename("/test1/tets2/test3"));//返回路径的最后一部分,通常用于从完全限定路径中提取文件名 |
COPY
1 | console.log("extname():",path.extname("/path2.js")); // 获取路径中的文件后缀名 |
COPY
1 | console.log("parse():",path.parse(__filename));// 返回路径字符串的对象 |
COPY
1 | let this_file_path = path.parse(__filename) |
COPY
1 | console.log("toNamespacedPath():",path.toNamespacedPath(__filename)); |
COPY
1 | console.log("path.sep:",path.sep); // 返回操作系统的路径分隔符,`/` `\` `\\` |
COPY
1 | console.log("path.delimiter:",path.delimiter); // 返回操作系统的文件分隔符。`;` `:` |
COPY
1 | console.log("path.posix:",path.posix); // 提供上述 path 的方法及属性,总是以 posix 兼容的方式交互 |
COPY
1 | console.log("path.win32:",path.win32); // 提供上述 path 的方法,总是以 win32 兼容的方式交互 |
COPY
1 | // 本文完整path.js内容 |