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 ...
随机推荐
- 转载:CSS的组成,三种样式(内联式,嵌入式,外部式),优先级
(仅供自己备份) 原文地址:http://blog.csdn.net/chq11106004389/article/details/50515717 CSS的组成 选择符/选择器+声明(属性+值) 选 ...
- [STM32F4][关于看门狗的那些事]
STM32(stm32f4XX系列)看门狗的总结: 1. 具有两个看门狗外设(独立和窗口)均可用于检测并解决由软件错误导致的故障:当计数器达到给定的超时值时,触发一个中断(仅适用于窗口看门狗)或产生一 ...
- English_phonetic symbol
Introduction 本人学习了奶爸课程---45天的搞定发音课,结合自己的英语水平,为自己撰写的一个系统的英语发音课,不只是音标,还有音标辨析.连读.音调等. 重点:英语发音时一个持续一生的东西 ...
- web頁面優化以及SEO
轉載:https://blog.csdn.net/xustart7720/article/details/79960591 浏览器访问优化浏览器请求处理流程如下图: Etag:實體標籤.ETag是HT ...
- c语言程序设计:用strcpy比较数组(银行卡密码程序设计),strcpy(复制数组内容)和getchar()(敲键盘字符,统计不想要的字符的个数)
统计从键盘输入一行字符的个数: 1 //用了getchar() 语句 2 //这里的\n表示回车 #include <stdio.h> #include <stdlib.h> ...
- Jedis+Redis+spring缓存
Redis程序使用它?Jedis 访问redis java api Redis-server & //后台运行防火墙要关闭 ts-parent的pom.xml加上jedis依赖 <dep ...
- 使用GeoServer发布shp数据为WMS服务和WFS服务
使用GeoServer发布shp数据为WMS服务和WFS服务 1安装GeoServer 2使用GeoServer上传数据 3使用GeoServer发布数据为WMS和WFS 看完本教程,你将学会安装Ge ...
- 优步UBER司机高峰小时保底奖励
高峰小时保底奖励 (此奖励仅针对6月1日及以后激活的优步车主): 得到“高峰小时保底”的前提为: 1. 在规定高峰时间段内(不得跨段计算),任意一小时内至少完成一单: 2. 在规定高峰时间段内,任 ...
- Android AOSP 编译sdk
首先你要有AOSP 工程. 然后执行下面的命令编译sdk. //运行下面的命令得到编译环境 source build/envsetup.sh lunch sdk make sdk 最后文件输出在哪个位 ...
- svn 撤销 已提交的修改
1.保证我们拿到的是最新代码: svn update 假设最新版本号是28. 2.然后找出要回滚的确切版本号: svn log [something] 假设根据svn log日志查出要回滚的 ...