path
前言
path 在不同的操作系统是有差异的。
posix(unix,likeunix,linux,macOs,windows wsl)
可移植操作系统接口,这是一套标准,为了保证不同遵循它的操作系统的可移植性。
例如:启动一个进程调用 fork 函数,大家都调用这个。
- 路径分隔符使用正斜杠(
/)。
windows
不遵守 posix。
- 路径分隔符使用反斜杠(
\)。
api
__dirname:当前运行文件所在目录(绝对路径);__filename:当前运行文件所在目录的执行文件(绝对路径);
basename
返回指定路径的最后一个(文件/文件夹)名。
const path = require("node:path");
console.1og(path.basename('/foo/bar/baz/asdf/xm.html')) // xm.html
console.1og(path.basename('\\foo\\bar\\baz\\asdf\\xm.html')) // xm.html
console.1og(path.posix.basename('/foo/bar/baz/asdf/xm.html')) // ×
console.1og(path.win32.basename('/foo/bar/baz/asdf/xm.html')) // xm.html
注意:winddows 兼容正反斜杆写法,posix 不兼容。
dirname
返回指定路径的目录(不含最后一个(文件/文件夹)名。)。
console.1og(path.dirname('/foo/bar/baz/asdf/xm.html')) // ../foo/bar/baz/asdf
extname
返回路径的扩展名。如果是文件夹则返回为空。
join
拼接路径。支持操作符。
../。栈
resolve
解析路径,返回绝对路径。
注意:多个路径返回最后一个。(_根据拼接路径的数量和类型会有差异_)
parse(format)
解析路径,以对象形式。
console.1og(path.parse('/home/file.txt'))
const res = {
root: '/',
dir: 'home',
base: 'file.txt',
ext: '.txt',
name: 'file'
}
format(parse)
parse 逆向操作。
sep
返回操作系统的路径分隔符。可用于实现跨平台。