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() 会将拼接好的路径转换成绝对路径。