node中的path.resolve

Posted zytt

tags:

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

path.resolve([arg1,arg2,...])返回值有两种情况:

1.每个参数都不带‘/‘,比如path.resolve(),或者path.resolve(‘path1‘,‘path2‘)

2.一个或多个参数带‘/‘符号 path.resolve(‘/path‘);

 

下面具体分析:

1.什么参数也没有的时候:

path.resolve()或者paht.resolve(‘‘)

输出:当前文件所在文件夹路径  === __dirname

 

2.为文件夹名字(参数>=1):

path.resolve(‘path‘)

输出:当前文件所在文件夹绝对路径/path

或者 path.resolve(‘path1‘,‘path2‘)

输出:当前文件所在文件夹绝对路径/path1/path2

或者 path.resolve(‘path1‘,‘path2‘.......‘pathX‘)

输出:当前文件所在文件夹绝对路径/path1/path2...../pathX

 

3.文件夹名字前加了‘/‘

注意,无论是第几个文件前加了/!!!最终路径都为:/+‘最后一个前面加/的文件文件名’+‘剩下文件夹’

好的,我知道上面那句话很难懂,那就看例子

1.path.resolve(‘/path‘)

输出: /path

2.

2.1path.resolve(‘path1‘,‘path2‘,‘/path3‘) 

*前两个path前没有斜杠,只最后一个有

输出: /path2

2.2.path.resolve(‘path1‘,‘/path2‘,‘/path3‘)

*后面两个path都有斜杠

输出:/path2

看到没,跟path1,path2,根本没有任何关系,因为最后一个path2前面有斜杠/,所以地址为path2

3.path.resolve(‘path1‘,‘/path2‘,‘path3‘) 

*path2有斜杠,后面的path3没有斜杠

输出: /path2/path3

 

 

总结:

if(当path.resolve参数中不存在带/的参数时)

  return 绝对路径

else

  return /+‘最后一个前面加/的文件文件名’+‘剩下文件夹’

 

带/的参数:举个例子来解释就是‘/path‘

以上是关于node中的path.resolve的主要内容,如果未能解决你的问题,请参考以下文章

node path api

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

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

node中path.resolve()用法

require.resolve和path.resolve

Node.js Path 模块