path模块

100 阅读2分钟

path模块

node.js中path模块是用于处理文件或文件夹路径的一个内置模块。在使用时需要先用require引入到项目文件中。

let path=require("path",".ext")

方法

1.basename:获取路径的基础名,返回值是文件路径的最后一部分

path.basename(path),path是文件或目录的路径,ext是可选的,表示文件扩展名,例如:.js、.css、。html等。

1)path不是字符串或者给定的ext参数不是字符串,则抛出TypeError

2)有ext 参数时当 ext 后缀名与文件名匹配上时返回的文件名会省略文件后缀

3)path 尾部有目录分隔符则会被忽略

2.dirname:获取文件或者目录的路径目录名,表示当前文件或文件夹在哪一个文件夹下

path.dirname(path),path是文件或目录的路径

1)path 不是字符串,则抛出 TypeError

2)path 尾部有目录分隔符则会被忽略

3.extname:获取路径扩展名

path.extname(path),path是文件或目录的路径,返回值是path路径的扩展名,从最后一次出现 '.' 字符到 path 最后一部分的字符串结束,无扩展名则返回空字符串

path不是字符串,则抛出 TypeError

4.parse:将路径从字符串解析为对象

path.parse(path),path是文件或目录的路径,返回的对象属性有dir,root,base,name,ext。

1)root:根目录,当路径为相对路径时,解析结果中root是空字符串" "(root代表根目录,绝对路径才有值,或者相对根路径就是"/")

2)dir:文件所在的文件夹

3)base:完整文件(name+ext)

4)name:文件名

5)ext: 文件后缀名

path 不是字符串,则抛出 TypeError,尾部有目录分隔符则会被忽略

┌──────────────────┬────────────┐
│          dir     │    base    │
├──────┬           ├──────┬─────┤
│ root │           │ name │ ext │
"      / app/public/ index .hyml "

5.format:序列化路径,与 path.parse() 刚好相反,将路径从对象解析为字符串路径。

path.format(pathObj),pathObj是要解析的路径的对象

1)pathObject 不是对象,则抛出 TypeError

2)pathObject 中的属性有优先级:当 dir 属性存在则忽略 root 属性,当 base 属性存在则会忽略 name 和 ext 属性

6.isAbsolute:判断该路径是否是绝对路径

path.isAbsolute(path),path是文件或目录的路径,返回值是布尔值(true/false)

1)path 不是字符串,则抛出 TypeError

2)给定的 path 字符串长度为0,则返回 false

7.path.join()path.resolve()

两者的相同点是:都会使用系统的分隔符将“路径片段”进行拼接。

两者的不同点在于:path.join()只是拼接路径,path.resolve() 会将拼接好的路径转换成绝对路径