path.resolve
- 返回结果是绝对路径,如果参数不能构成绝对路径,将使用当前工作目录
-
如果没有传入参数,则 path.resolve() 将返回当前工作目录的绝对路径
工作目录:执行node命令时所在的目录
也就是上图执行node命令mac$ 前面的路径,跟path.resolve()在哪个文件下没关系
- 如果参数里出现了/ 会把它当作根目录,并且忽略掉前面的路径,就像我们执行cd /a又执行cd /b 最终结果是/b
//在 /Users/mac/code/my/test 下执行node命令
path.resolve() // Outputs /Users/mac/code/my/test
path.resolve('a') // Outputs /Users/mac/code/my/test/a
path.resolve('a','b') // Outputs /Users/mac/code/my/test/a/b
path.resolve('/a','b') // Outputs '/a/b'
path.resolve('/a','/b','c') // Outputs '/b/c'
path.join
使用平台特定分隔符将参数连接起来 windows是 \ 反斜杠 unix是正斜杠
path.join() // Outputs '.'
path.join('a') // Outputs 'a'
path.join('a','b') // Outputs 'a/b'
path.join('/a','b') // Outputs '/a/b'