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

Posted lqw007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了path.join()与path.resolve()区别相关的知识,希望对你有一定的参考价值。

1.path.resolve([...paths])

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

给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:/foo/barbaz,则调用 path.resolve(‘/foo‘, ‘/bar‘, ‘baz‘) 会返回 /bar/baz

如果处理完全部给定的 path 片段后还未生成一个绝对路径,则当前工作目录会被用上。

生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。

长度为零的 path 片段会被忽略。

如果没有传入 path 片段,则 path.resolve() 会返回当前工作目录的绝对路径。

console.log(path.resolve(‘/a/b‘, ‘./c‘));
console.log(path.resolve(‘/a‘, ‘/b‘));
console.log(path.resolve(‘a‘, ‘b/c/‘, ‘../image.gif‘));
结果:
/a/b/c
/b
/a/b/image.gif

如果任何参数不是一个字符串,则抛出 TypeError

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

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

长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 ‘.‘,表示当前工作目录。

path.join(‘/foo‘, ‘bar‘, ‘baz/asdf‘, ‘quux‘, ‘..‘);
// ‘/foo/bar/baz/asdf‘

 

以上是关于path.join()与path.resolve()区别的主要内容,如果未能解决你的问题,请参考以下文章

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

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

path的join和resolve的使用区别

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

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

node模块之path——path.join和path.resolve的区别