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’
上一篇: php实现的随机红包算法