本模块包含一套用于处理和转换文件路径的工具集。几乎所有的方法只做字符串变换, 不会调用文件系统检查路径是否有效。

通过 require('path') 来加载此模块。以下是本模块所提供的方法:

path.normalize(p)

规范化字符串路径,注意 '..' 和 '.' 部分

多个斜杠会被替换成一个; 路径末尾的斜杠会被保留; Windows 系统上, 会使用反斜杠。

path.join([path1], [path2], [...])

连接所有参数, 并且规范化得到的路径.

参数必须是字符串。在 v0.8 版本非字符串参数会被悄悄忽略。 在 v0.10 及以后版本将会抛出一个异常。

path.join('foo', {}, 'bar')
// 抛出异常
TypeError: Arguments to path.join must be strings

path.resolve([from ...], to)

to 解析为一个绝对路径。

如果to不是一个相对于from 参数的绝对路径,to会被添加到from的右边,直到找出一个绝对路径为止。如果使用from路径且仍没有找到绝对路径时,使用当时路径作为目录。返回的结果已经规范化,得到的路径会去掉结尾的斜杠,除非得到的当前路径为root目录。非字符串参数将被忽略。

另一种思路, 是把它看做一系列 cd 命令.

path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')

相当于:

cd foo/bar
cd /tmp/file/
cd ..
cd a/../subfile
pwd

不同的是,不同的路径不需要存在的,也可能是文件。

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
// 如果当前工作目录为 /home/myself/node,它返回:
'/home/myself/node/wwwroot/static_files/gif/image.gif'

path.isAbsolute(path)

判定path是否为绝对路径。一个绝对路径总是指向一个相同的位置,无论当前工作目录是在哪里。

path.relative(from, to)

Solve从fromto的相对路径。

有时我们有2个绝对路径, 我们需要从中找出相对目录的起源目录。这完全是path.resolve的相反实现,我们可以看看是什么意思:

path.resolve(from, path.relative(from, to)) == path.resolve(to)

示例

path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
// 返回
'../../impl/bbb'

path.dirname(p)

返回路径中文件夹的名称. 类似于Unix的dirname 命令.

path.dirname('/foo/bar/baz/asdf/quux')
// returns
'/foo/bar/baz/asdf'

path.basename(p, [ext])

返回路径中的最后哦一部分. 类似于Unix 的 basename 命令.

path.basename('/foo/bar/baz/asdf/quux.html', '.html')
// returns
'quux'

path.extname(p)

返回路径中文件的扩展名, 在从最后一部分中的最后一个'.'到字符串的末尾。 如果在路径的最后一部分没有'.',或者第一个字符是'.',就返回一个 空字符串。

path.sep

特定平台的文件分隔工具. '\\' 或者 '/'.

*nix 上的例子:

'foo/bar/baz'.split(path.sep)
// returns
['foo', 'bar', 'baz']

Windows 上的例子:

'foo\\bar\\baz'.split(path.sep)
// returns
['foo', 'bar', 'baz']

path.delimiter

特定平台的路径分隔符, ; 或者 ':'.

*nix 上的例子:

process.env.PATH.split(path.delimiter)
// returns
['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']

Windows 上的例子:

console.log(process.env.PATH)
// 'C:\Windows\system32;C:\Windows;C:\Program Files\nodejs\'

process.env.PATH.split(path.delimiter)
// returns
['C:\Windows\system32', 'C:\Windows', 'C:\Program Files\nodejs\']

转载于:https://www.cnblogs.com/xiaopen/p/5304214.html

路径 (Path)–nodejs相关推荐

  1. 小师妹学JavaIO之:文件File和路径Path

    文章目录 简介 文件和路径 文件中的不同路径 构建不同的Path 总结 简介 文件和路径有什么关系?文件和路径又隐藏了什么秘密?在文件系统的管理下,创建路径的方式又有哪些?今天F师兄带小师妹再给大家来 ...

  2. Android 路径(Path)与剪裁(Clipping)详解

    转自:http://blog.csdn.net/bigdavidwli007/article/details/8930640 在定义各种形状的view的需求驱使下 ,在网上找到这片文章,貌似看的人很少 ...

  3. Linux之搜索路径PATH

    Linux之搜索路径PATH 外部和内部命令 shell的命令分为两种:内部命令和外部命令 内部命令:简称builtin,由shell自身解析并执行,在shell自己的进程内执行 外部命令:shell ...

  4. 一文掌握abaqus各类选取功能,以基于路径(Path)选择为例

    附赠仿真学习包,包含结构.流体.电磁.热仿真等多学科视频教程,点击领取: ​​​​​​仿真秀粉丝专属礼包 作者:米条老师,仿真秀专栏作者 对于软件用户来讲,经常面临非常众多且繁琐的选取功能,本文将结合 ...

  5. java文件夹路径的表达_小师妹学JavaIO之:文件File和路径Path

    简介 文件和路径有什么关系?文件和路径又隐藏了什么秘密?在文件系统的管理下,创建路径的方式又有哪些?今天F师兄带小师妹再给大家来一场精彩的表演. 文件和路径 小师妹:F师兄我有一个问题,java中的文 ...

  6. python中无限遍历在多维嵌套字典、列表的JSON中获取路径path跟对应的值——find_path(终极版)

    真鸡儿痛苦,网上搜寻了一大堆,都没我想要的,要不是纯字典,要不只能拿到value值,我想要的是具体路径啊! 没把法,只能自己强上了!本来3个函数就能搞定了,根据要找的value值得到该值的具体路径,但 ...

  7. nodejs中的读取文件fs与文件路径path

    什么是nodejs? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,nodejs允许javascript代码运行在服务端 1. nodejs不是一门新的编程语 ...

  8. nodeJS之路径PATH模块

    path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块.本文将详细介绍path模块 路径组成 [path.dirname(p)] 返回路径p所在的目 ...

  9. 合并的路径Path.Combine

    包含合并的路径的字符串.如果指定的路径之一是零长度字符串,则该方法返回其他路径.如果 path2 包含绝对路径,则该方法返回 path2. System.Web.HttpServerUtility u ...

最新文章

  1. 【基本操作】主席数统计区间不同颜色个数
  2. iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据
  3. 文件服务器的内存要多少,文件服务器内存要多大
  4. DIV布局之position详解
  5. SQL Server 数值四舍五入,小数点后保留2位
  6. 第7周项目实践2.1 用只有尾节点指针rear的循环单链表实现队列算法库
  7. 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理
  8. Android中的日期控件DatePicker和DatePickerDialog
  9. 全国人工智能大赛 AI+4K HDR赛项 冠军团队方案分享
  10. armbian docker Chrome_一起学docker06-docker网络
  11. 学会这5种JS函数继承方式,前端面试你至少成功50%
  12. 25muduo_net库源码分析(一)
  13. 软件质量保证SQA、软件测试ST
  14. WinCE 下鼠标键盘驱动分析
  15. 展锐哪些芯片支持伽利略Galileo定位系统
  16. iPhone 5s 如何进入 DFU 模式,macOS 无法进入 DFU 模式
  17. ue4 后期处理景深_【UE4设计师】2-3后期处理效果——使用景深设置电影拍摄
  18. 浏览器对象存储数据详解
  19. 氢氧化锂制备系统——吸附(除杂\提锂)+双极膜电渗析
  20. 医院如何选择HIS及电子病历系统

热门文章

  1. Java回调机制解读
  2. NHibernate实例化类部分属性
  3. 数学图形(1.43)贝壳形曲线与鱼形曲线
  4. 使用Hamcrest增强JUnit的测试能力
  5. C、C++申请指针内存的问题
  6. matlab中统计工具箱函数名大全
  7. oracle 中大于等于_针对oracle安装参数调整方法
  8. python27怎么使用_pygtk:glade的使用(针对python27的第一个例子)
  9. 值得一谈的鸿蒙2.0,程序员们拿起你们手中的编译器撸一下hello world
  10. [Vulhub](WooYun-2016-199433)phpmyadmin反序列化漏洞