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 ...
随机推荐
- 几个简单if程序的细节比较与加法程序设计
关于简单的if判断语句的不同写法: 输出0-9十个整数: 第一个程序: #include<stdio.h> #include<stdlib.h> int main() { ; ...
- linux mint系统 cinnamon桌面 发大镜功能
让我来告诉迷途中的你cinnamon桌面一个好用的功能. 选择设置 选择窗口 -> 选择行为 看那个窗口移动和调整大小的特殊键 Alt 好了按住alt在滑动滑轮 世界不一样了 对于小屏幕高分辨率 ...
- #include stdio.h(B)
#include <stdio.h> int main() { //***********一.循环语句*************** //什么叫做循环: //重复的做某件事情,重复的执行一 ...
- Vue.js核心概念
# 1. Vue.js是什么? 1). 一位华裔前Google工程师(尤雨溪)开发的前端js库 2). 作用: 动态构建用户界面 3). 特点: * 遵循MVVM模式 * 编码简洁, 体积小, 运行效 ...
- 北京Uber优步司机奖励政策(12月10日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 宁波Uber优步司机奖励政策(12月14日到12月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- spring源码-bean之初始化-1
一.spring的IOC控制反转:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了松耦合.当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查 ...
- 使用duplicateweedout
mysql> explain extended select * from cities where id in (select phonecode from countries group b ...
- JAVA基础:ArrayList和LinkedList区别
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList ...
- Docker 镜像构建的时候,应该小心的坑
不要改文件 如果run了以后,你还需要进入到容器中,修改容器的配置,那么,这个容器是危险的.一旦容器无法启动,就再也改不了配置.那么你就需要删除和重新run这个容器,而配置要再改一遍.一个可用的镜像在 ...