NodeJS中path模块的join方法与resolve方法的作用

237 阅读1分钟

每周一个编程小知识

path.resolve

  • 不带参数时
    返回的是当前工作目录的绝对路径/Users/xxxx/

  • 参数有且只有一个,并且为./

    返回的是当前工作目录的绝对路径/Users/xxxx/

  • 带不是/开头的参数
    path.resolve('a') 返回的是当前工作目录的绝对路径拼接现在的参数/Users/xxxx/a path.resolve('a','b') 返回的是当前工作目录的绝对路径拼接现在的参数/Users/xxxx/a/b

  • 带./开头的参数
    path.resolve('./a') 返回的是当前工作目录的绝对路径拼接现在的参数/Users/xxxx/a path.resolve('./a','./b') 返回的是当前工作目录的绝对路径拼接现在的参数/Users/xxxx/a/b

  • 带/开头的参数 返回的是 /+‘最后一个前面加/的文件文件名’+‘剩下文件夹 path.resolve('/a') 返回的是当前工作目录的绝对路径拼接现在的参数/a path.resolve('/a','/b') 返回的是当前工作目录的绝对路径拼接现在的参数/b path.resolve('/a','/b', 'c') 返回的是当前工作目录的绝对路径拼接现在的参数/b/c

  • 从右往左读取"path"路径,并开始拼接,本身就自带绝对路径参数 "to"

  • 搭配__dirname时,需将放置第一位,且与 ' / ' 有互相覆盖的冲突

path.join

  • 用于链接路径,并且会自动转换当前系统路径的分隔符"/"或""
  • 只有传入__dirname的时候,才能得到绝对路径
  • 也是从右到左依次被解析排列组成路径的
  • 项目中,最好与__dirname变量搭配使用
  • 以 ./ 开头或者 / 和没有字符,得到的结果是加不加都不影响路径的拼接