是什么区别(如果有的话)path.normalize(your_path)
和path.resolve(your_path)
?
我知道path.resolve(...)
可以接受多个参数,但是单个参数的行为与调用相同path.normalize()
吗?
编辑:如果他们应该以相同的方式行事,我不明白path.normalize(...)
当你可以简单地将路径传递给path.resolve(...)
Or 时暴露函数的目的,也许,它是出于文档目的.例如,他们在文档中说path.resolve(...)
:
...生成的路径被标准化,并且......
暴露path.normalize(...)
使得更容易解释什么"规范化"意味着??? 我不知道.
Mic*_*ley 176
path.normalize
摆脱的多余.
,..
在路径等.path.resolve
将路径解析为绝对路径.示例(我当前的工作目录是/Users/mtilley/src/testing
):
> path.normalize('../../src/../src/node')
'../../src/node'
> path.resolve('../../src/../src/node')
'/Users/mtilley/src/node'
Run Code Online (Sandbox Code Playgroud)
换句话说,path.normalize
"我可以采取的最短路径是什么,将我带到与输入相同的位置",而path.resolve
"如果我走这条路,我的目的地是什么".
不过要注意的path.normalize()
是很多更多的上下文无关比path.resolve()
.有path.normalize()
过上下文去悬挂(即,如果它已经考虑到当前的工作目录),结果在上面的例子中会一直../node
,因为这是一个可以采取从最短路径/Users/mtilley/src/testing
来/Users/mtilley/src/node
.
具有讽刺意味的是,这意味着path.resolve()
以绝对值产生相对路径(您可以在任何地方执行它,并且它会产生相同的结果),而path.normalize()
相对而言产生绝对路径(您必须在相对于您想要的路径中执行它)计算绝对结果).
归档时间: |
|
查看次数: |
48179 次 |
最近记录: |