Path模块部分常用函数解析——NodeJS

官网地址:https://nodejs.org/api/path.html

path.resolve([...paths])#

  • 参数[...paths]: <String> 参数是一个路径序列或路径片段
  • 返回: <String>

功能:该函数将一个路径序列或路径片段组合成一个绝对路径;

path.resolve([path1][, path2][, ...]) 从右向左依次拼接该路径序列,直到构成一个绝对路径。例如,输入参数:/foo, /bar, baz, 调用函数path.resolve('/foo', '/bar', 'baz')后返回结果是 /bar/baz;

如果处理完所有参数仍然没有构成一个绝对路径,就使用当前工作目录的绝对路径;结果返回的路径是经normalized后的,尾随斜线是没有的,除非是根路径;

Zero-length path segments are ignored.

如果路径序列中没有可用的路径片段,该函数将返回当前工作目录的绝对路径;

例子:

path.resolve('/foo/bar', './baz')
// Return: '/foo/bar/baz' 

path.resolve('/foo/bar', '/tmp/file/')
// Return: '/tmp/file'

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

  如果有任何参数不是字符串,将会抛出TypeError错误;

 

path.join([...paths])#

The path.join() method joins all given path segments together using the platform specific separator as a delimiter, then normalizes the resulting path.

作用:该函数使用指定分隔符将参数中所有路径片段连接到一起,并返回normalize后的结果路径。

Zero-length path segments are ignored. If the joined path string is a zero-length string then '.'will be returned, representing the current working directory.

如果连接的参数长度为0字符串,将会返回'.' , 表示当前工作目录

例子:

1 path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')
2 //Return: '/foo/bar/baz/asdf'
3 
4 path.join('foo', {}, 'bar')
5 //throws TypeError:Arguments to path.join must be strings

如果参数中有任何路径片段不是字符串,将会抛出TypeError错误;

 

path.normalize(path)#

The path.normalize() method normalizes the given path, resolving '..' and '.' segments.

作用:标准化路径,处理'..'和'.'

When multiple, sequential path segment separation characters are found (e.g. / on POSIX and \on Windows), they are replaced by a single instance of the platform specific path segment separator. 后缀分隔符将保留;

If the path is a zero-length string, '.' is returned, representing the current working directory.

如果path是长度为0的字符串,将会返回'.' , 表示当前工作目录

For example on POSIX: 

1 path.normalize('/foo/bar//baz/asdf/quux/..') 
2 // Returns: '/foo/bar/baz/asdf' 

 

On Windows:

1 path.normalize('C:\\temp\\\\foo\\bar\\..\\')
2 //Returns: 'C:\\temp\\foo\\'

 

path.format(pathObject)#

The path.format() method returns a path string from an object. This is the opposite ofpath.parse().

When providing properties to the pathObject remember that there are combinations where one property has priority over another:

  • pathObject.root is ignored if pathObject.dir is provided
  • pathObject.ext and pathObject.name are ignored if pathObject.base exists

For example, on POSIX:

 1 // If `dir`, `root` and `base` are provided,
 2 // `${dir}${path.sep}${base}`
 3 // will be returned. `root` is ignored.
 4 path.format({
 5   root: '/ignored',
 6   dir: '/home/user/dir',
 7   base: 'file.txt'
 8 });
 9 // Returns: '/home/user/dir/file.txt'
10 
11 // `root` will be used if `dir` is not specified.
12 // If only `root` is provided or `dir` is equal to `root` then the
13 // platform separator will not be included. `ext` will be ignored.
14 path.format({
15   root: '/',
16   base: 'file.txt',
17   ext: 'ignored'
18 });
19 // Returns: '/file.txt'
20 
21 // `name` + `ext` will be used if `base` is not specified.
22 path.format({
23   root: '/',
24   name: 'file',
25   ext: '.txt'
26 });
27 // Returns: '/file.txt'

On Windows:

1 path.format({
2   dir : "C:\\path\\dir",
3   base : "file.txt"
4 });
5 // Returns: 'C:\\path\\dir\\file.txt'

 

转载于:https://www.cnblogs.com/xuepei/p/6344670.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值