Node.js中path.normalize和path.resolve的区别

path.normalize(your_path)path.resolve(your_path)之间有什么区别(如果有的path.resolve(your_path)

我知道path.resolve(...)可以接受多个参数,但行为与一个单一的参数相同,调用path.normalize()

编辑:如果他们应该行为相同的方式,我不明白的目的,揭露path.normalize(...)函数时,你可以简单地将path传递到path.resolve(...)或者,也许, ,这是为了文件的目的。 例如,他们在path.resolve(...)的文档中说:

…由此产生的path正常化,并…

path.normalize(...)可以更容易地解释“规范化”是什么意思? 我不知道。

path.normalize获取摆脱额外...等path中。 path.resolve将pathparsing为绝对path。 例子(我目前的工作目录是/Users/mtilley/src/testing ):

 > path.normalize('../../src/../src/node') '../../src/node' > path.resolve('../../src/../src/node') '/Users/mtilley/src/node' 

换句话说, path.normalize是“我可以采取的最短path是什么,将把我带到与input相同的地方”,而path.resolve是“如果我走这条路,我的目的地是什么”。

从文档:

解决问题的另一种方法是在shell中作为一系列cd命令。

链接到文档中的path.resolve和path.normalize 。 我大多不想只提供一个答案的链接,但Node.js文档是非常体面的。