node中的path.resolve
path.resolve([arg1,arg2,...])根据参数的不同,返回值存在两种情况。
以下为参数的两种情况:
1.每个参数都不带'/',比如path.resolve(),或者path.resolve('path1','path2'),或者path.resolve('./path');
2.一个或多个参数最开头带'/'符号 path.resolve('/path');
返回值分别为:
1.绝对路径
2.相对路径
下面具体分析:
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. 某个参数为'./'+文件名
*path.resolve('./path')
输出:当前文件所在文件夹绝对路径/path
*或者path.resolve('path1','./path2')
输出:当前文件所在文件夹绝对路径/path1/path2
4.文件夹名字前加了'/'
注意,无论是第几个文件前加了/!!!最终路径都为:/+‘最后一个前面加/的文件文件名’+‘剩下文件夹’
好的,我知道上面那句话很难懂,那就看例子
4.1.path.resolve('/path')
输出: /path
4.2.
4.2.1path.resolve('path1','path2','/path3')
*前两个path前没有斜杠,只最后一个有
输出: /path2
4.2.2.path.resolve('path1','/path2','/path3')
*后面两个path都有斜杠
输出:/path2
看到没,跟path1,path2,根本没有任何关系,因为最后一个path2前面有斜杠/,所以地址为path2
4.3.path.resolve('path1','/path2','path3')
*path2有斜杠,后面的path3没有斜杠
输出: /path2/path3
总结:
if(当path.resolve参数中不存在最开头带/的参数时)
return 绝对路径
else
return /+‘最后一个前面加/的文件文件名’+‘剩下文件夹’
带/的参数:举个例子来解释就是 '/path'。 注:不包括'./path'
node中的path.resolve的更多相关文章
- node中 path.resolve 和path.join的区别
path.resolve('a','b','c') 返回a/b/c path.resolve理论上总是以前一个路径作为基础路径,然后匹配当前路径,当前路径会有三种情况根目录(/),当前目录(./),上 ...
- node模块之path——path.join和path.resolve的区别
1.path.join([...paths]) path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径. 长度为零的 path 片段会被忽略. 如果 ...
- node path.resolve()
作用: path.resolve()方法将一系列路径或路径段解析为绝对路径. 语法: path.resolve([from ...], to) 说明:将参数 to 位置的字符解析到一个绝对路径里. 参 ...
- Nodejs中,path.join()和path.resolve()的区别
在说path.join()和path.resolve()的区别之前,我先说下文件路径/和./和../之间的区别 /代表的是根目录: ./代表的是当前目录: ../代表的是父级目录. 然后再来说下pat ...
- node中 path.join 和 path.resovle 区别
console.log(__dirname) console.log('----') console.log(path.resolve(__dirname, '/a/b', '../')) conso ...
- node.js之path
说到node.js,可能实际中用到node进行后台开发的公司不多,大部分人都没有开发后台的经验.但是也要了解node相关模块的用法,因为现在前端自动化脚本的构建,模块的打包越来越离不开node.特别是 ...
- node 学习笔记 - path 处理
本文同步自我的个人博客:http://www.52cik.com/2015/12/04/learn-node-path.html path 模块是 node 用于整理.转换.合并路径的神器,只要是路径 ...
- 介绍nodejs中的path模块的几个方法
webpack中常用的: var path = require('path') 是nodejs中的path模块,介绍一下webpack中常用的几个path模块的方法: 应用node环境的时候,这个pa ...
- 使用node中的express解决vue-cli加载不到dev-server.js的问题
在使用vue开发过程中,难免需要去本地数据地址进行请求,而原版配置在dev-server.js中,新版vue-webpack-template已经删除dev-server.js,改用webpack.d ...
随机推荐
- hiveserver2不能启动
我的hiveserver2一直不能启动,命令行一直卡住不动,然后我就想是不是配置文件没有配置相关的参数,然后就来修改hive-site.xml 最终修改完后的hive-site.xml: <?x ...
- ecshop跨站漏洞详情及修补网站漏洞
ecshop目前最新版本为4.0,是国内开源的一套商城系统,很多外贸公司,以及电商平台都在使用,正因为使用的人数较多,很多攻击者都在挖掘该网站的漏洞,就在最近ecshop被爆出高危漏洞,该漏洞利用跨站 ...
- Python学习笔记三:数据类型
数据类型 整数int 32位机器,-2**31~2**31-1,即-2147483648~2147483647(4亿多) 64位机器,-2**63~2**63-1,非常大了. 长整型long 没有位数 ...
- java中reader和writer部分的笔记
输入和输出流:获取流对象从文件中获取InputStream in = Files.newInputStream(path);OutputStream out = Files.newOutputStre ...
- 全国Uber优步司机奖励政策 (1月18日-1月24日)
本周已经公开奖励整的城市有:北 京.成 都.重 庆.上 海.深 圳.长 沙.佛 山.广 州.苏 州.杭 州.南 京.宁 波.青 岛.天 津.西 安.武 汉.厦 门,可按CTRL+F,搜城市名快速查找. ...
- 成都Uber优步司机奖励政策(1月9日)
1月9日 奖励政策 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblog ...
- 华天正real210开发板测试-第1篇
1. 网上买的real210二手开发板,今天刚到测试一下 2. 启动方式,不过目前唯一的问题是没有开发资料,然后给原厂发了份邮件要资料,原厂爽快的给了,必须给华天正这服务态度点个赞啊 3. 调到nan ...
- long 与int 比较问题
long 与int 比较,在32位机器,sizeof都是 占用4个字节: 在window 64位也是占用4个字节 但是在Linux 64位,long占用 8个字节, int占用4个字节,这样比较就会有 ...
- Android 模拟器 下载、编译及调试
Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...
- Fiddler使用总结(三)
我们知道Fiddler是位于客户端和服务器之间的代理,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的数据,甚至可以修改 ...