欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

path.join() 和 path.resolve() 区别

程序员文章站 2022-05-10 09:16:37
...

path.join

path.join([...paths]);

path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。

长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 ‘.’,表示当前工作目录。 ‘…’ 同 '…/'是一个意思都代表上一级目录

  • ’path.join()’: ‘.’,

path.resolve

path.resolve([...paths])

path.resolve() 把一个路径或路径片段的序列解析为一个绝对路径。

从后向前,若字符以 / 开头,不会拼接到前面的路径;若以 …/ 开头,拼接前面的路径,但是不含前面一节的最后一层路径(即覆盖前一级路径);若以 ./ 开头 或者没有符号 则拼接前面路径;会把 ‘/’当成跟目录

  • __dirname: ‘/Users/xxx/Desktop/demo’,
  • ’path.resolve()’: ‘/Users/xxx/Desktop/demo’,
  • ’path.resolve(__dirname)’: ‘/Users/xxx/Desktop/demo’,
  • ’path.resolve(test)’: ‘/Users/xxx/Desktop/demo/test’,
  • ’path.resolve(/test)’: ‘/test’,
  • ’path.resolve(__dirname, test)’: ‘/Users/xxx/Desktop/demo/test’,
  • ’path.resolve(__dirname, /test)’: ‘/test’,

test

  • "path.resolve(__dirname,‘a’,’/b’,’./c’,’…/d’,‘e’,’./f’)": ‘/b/d/e/f’,
  • "path.resolve(‘a’,’/b’,’./c’,’…/d’,‘e’,’./f’)": ‘/b/d/e/f’,
  • "path.join(__dirname,‘a’,’/b’,’./c’,’…/d’,‘e’,’./f’)": ‘/Users/xxx/Desktop/demo/a/b/d/e/f’,
  • "path.join(‘a’,’/b’,’./c’,’…/d’,‘e’,’./f’)": ‘a/b/d/e/f’
相关标签: path