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的更多相关文章

  1. node中 path.resolve 和path.join的区别

    path.resolve('a','b','c') 返回a/b/c path.resolve理论上总是以前一个路径作为基础路径,然后匹配当前路径,当前路径会有三种情况根目录(/),当前目录(./),上 ...

  2. node模块之path——path.join和path.resolve的区别

    1.path.join([...paths]) path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径. 长度为零的 path 片段会被忽略. 如果 ...

  3. node path.resolve()

    作用: path.resolve()方法将一系列路径或路径段解析为绝对路径. 语法: path.resolve([from ...], to) 说明:将参数 to 位置的字符解析到一个绝对路径里. 参 ...

  4. Nodejs中,path.join()和path.resolve()的区别

    在说path.join()和path.resolve()的区别之前,我先说下文件路径/和./和../之间的区别 /代表的是根目录: ./代表的是当前目录: ../代表的是父级目录. 然后再来说下pat ...

  5. node中 path.join 和 path.resovle 区别

    console.log(__dirname) console.log('----') console.log(path.resolve(__dirname, '/a/b', '../')) conso ...

  6. node.js之path

    说到node.js,可能实际中用到node进行后台开发的公司不多,大部分人都没有开发后台的经验.但是也要了解node相关模块的用法,因为现在前端自动化脚本的构建,模块的打包越来越离不开node.特别是 ...

  7. node 学习笔记 - path 处理

    本文同步自我的个人博客:http://www.52cik.com/2015/12/04/learn-node-path.html path 模块是 node 用于整理.转换.合并路径的神器,只要是路径 ...

  8. 介绍nodejs中的path模块的几个方法

    webpack中常用的: var path = require('path') 是nodejs中的path模块,介绍一下webpack中常用的几个path模块的方法: 应用node环境的时候,这个pa ...

  9. 使用node中的express解决vue-cli加载不到dev-server.js的问题

    在使用vue开发过程中,难免需要去本地数据地址进行请求,而原版配置在dev-server.js中,新版vue-webpack-template已经删除dev-server.js,改用webpack.d ...

随机推荐

  1. 详解 Python3 正则表达式(二)

    上一篇:详解 Python3 正则表达式(一) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 使用正则表达式 ...

  2. Spark Streaming job的生成及数据清理总结

    关于这次总结还是要从一个bug说起....... 场景描述:项目的基本处理流程为:从文件系统读取每隔一分钟上传的日志并由Spark Streaming进行计算消费,最后将结果写入InfluxDB中,然 ...

  3. C++函数调用之——值传递、指针传递、引用传递

    1.简介 1.值传递:形参时实参的拷贝,改变函数形参并不影响函数外部的实参,这是最常用的一种传递方式,也是最简单的一种传递方式.只需要传递参数,返回值是return考虑的:使用值传递这种方式,调用函数 ...

  4. 1.Python是什么

    前言   这里只是根据个人的理解而谈,庸俗浅薄,不是科学定义,也可以认为是假装自己理解啦,掩耳盗铃罢了.知无涯是多么的恐怖,哈哈 计算机语言   此处的语言不同于我们生活中所说的语言,因为生活中的语言 ...

  5. PTA基础编程题目集7-4 BCD解密

    BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位.所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12.但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了 ...

  6. 位域 (Bit field)

    最近开始看编程之美这本书,里面有一道关于中国象棋将帅位置的简单问题,如下图所示,写一个程序输出将.帅的合法位置. 分析与解法 问题的本身并不复杂,只要把所有A.B 互相排斥的条件列举出来就可以完成本题 ...

  7. Java基础之this和super关键字用法

    this 在java中,this是一个引用当前类对象的引用变量,主要有以下几种用法: 引用当前类的实例变量· this关键字可以用来引用当前类的实例变量.如果实例变量和某个方法的参数之间存在歧义(实例 ...

  8. 成都优步uber司机第三组奖励政策

    今天成都优步又推出了优步司机第三组,第一二组的奖励大家都晓得,但是第三组的奖励怎么样呢?还是先看看官方给出的消息. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册 ...

  9. 长沙Uber优步司机奖励政策(1月4日~1月10日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. LeetCode: 53. Maximum Subarray(Easy)

    1. 原题链接 https://leetcode.com/problems/maximum-subarray/discuss/ 2. 题目要求 给定一个整型数组,返回其子串之和的最大值 例如,[-2, ...