一. 路径的相对与绝对
-
相对路径
- ./index.html 指的是当前目录下的文件 - index.html 同上,也是指的是当前目录下的文件 - ../index.html 指的是上一级目录下的文件 -
绝对路径
- 以盘符开头 D:/index.html - 以/开头 /index.html 指的是所在磁盘根目录下的文件
使用相对路径时会产生的bug:
当我们使用 fs 模块的方法对文件执行某些操作时,常常会使用到文件的路径,如果我们使用相对路径,可能就会出现一些问题。
例如,fs.readFile('./index.html',err=>{})
如果我们终端命令行所在的工作目录发生了改变,如下:
那么执行相同的命令,第二个就会报错,因为相对路径并不是相对于执行文件(node xxx),而是相对于终端命令行所在的工作目录的!!!所以我们通常会使用绝对路径,这就要用到__dirname和path模块了!!
__dirname可以理解为一个全局变量,保存的是文件所在的目录的绝对路径!!
二. path 模块
《常用方法》
(1) path.resolve()
这个方法比较经常使用,常用来拼接绝对路径:
fs.readFile(path.resolve(__dirname,'./index.html'),err=>{})
(2) path.parse()
解析路径并返回相关参数的对象: