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的主要内容,如果未能解决你的问题,请参考以下文章