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. day 16 初试面试对象

    1.初识面向对象      面向过程:             一切以事物的发展流程为中心      面向对象:             一切以对象为中心.一切皆为对象.具体的某一个事务就是对象 打比 ...

  2. 6、core dump 故障分析

    Core Dump-定义Core Dump又叫核心转存.当程序在运行过程中发生异常, 这时Linux系统可以把程序出错时的内存内容存储在一个core文件中, 这种过程叫Core Dump. Segme ...

  3. C语言思维导图总结

  4. program files与program files(x86)的区别

    简单来说:Program Files (x86)存放了一些32位的系统文件.它和正常的Program Files以及Windows文件夹一样,都属于系统文件夹,请勿随意改动. 64位Windows中提 ...

  5. 北京Uber优步司机奖励政策(1月15日)

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

  6. 长沙优步Uber奖励政策(7.27~8.2)

    奖励前提 *必须满足当周评分4.7星及以上,且当周接单率70%及以上,才有资格获得奖励 *当周上线时间不低于7小时 *刷单和红线行为立即封号并取消当周全部奖励! *机场高速费用不参与翻倍奖励 *早高峰 ...

  7. Sql Server 2008R2中使用CET进行递归查询

            在使用数据库的过程中,我们经常会遇到递归的查询.比如传入一个分类ID,要查出这个分类下的所有子分类,以及子分类的子分类.或者说传入一个部门ID,要查出这个部门下所有子部门的人员:在Or ...

  8. MVC下的Area区域知识点

    新建area区域 1.如果与根目录下的url相同,那么需要在RouteConfig.cs中 public static void RegisterRoutes(RouteCollection rout ...

  9. yield学习

    如果要控制内存占用,最好不要用list来保存中间结果,而是通过iterable对象(range, xrange, generator等)来迭代.   yield 使函数变为generator,返回对象 ...

  10. react项目总结

    1.基本框架 1.react+react-router4+redux3.7.2 2.css预编译使用sass 3.数据请求使用axios(原本是使用fetch,结果在ios10下报错) 4.ui组件库 ...