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文档是非常体面的。