前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >path 模块中 resolve() 与 join() 的区别

path 模块中 resolve() 与 join() 的区别

原创
作者头像
愤怒的小鸟
修改2020-12-14 15:24:48
6030
修改2020-12-14 15:24:48
举报
文章被收录于专栏:web shareweb share

path 模块是 Node.js 的一个内置模块,提供了一些处理文件路径的方法,可以规范化我们的文件路径,使用时直接引用即可。

const path = require('path');

1. path.resolve([…paths])

path.resolve() 方法会返回一个绝对路径,它会按照从右到左的顺序处理每一个路径片段,直到遇到一个绝对路径为止,例如 path.resolve('/foo', '/bar', 'abc') 返回的结果为 /bar/abc

如果传入的路径片段中没有绝对路径,那么就以当前的工作目录为准,附加在结果的最左边,如 ${workplaceDir}/foo/bar;如果 path.resolve() 没有传入任何参数,那么返回的结果就是当前工作目录的绝对路径。

代码语言:javascript
复制
path.resolve('/foo', './bar', 'abc')
// 返回结果:'/foo/bar/abc'

path.resolve('/foo/bar', '/abc/xyz')
// 返回结果:'/abc/xyz'

path.resolve('foo', './bar/abc', 'xyz/xxx')
// 假设当前工作目录的绝对路径为:'/Users/admin'
// 返回结果:'/Users/admin/foo/bar/abc/xyz/xxx'

2. path.join([…paths])

path.join() 方法会把所有的路径片段拼接在一起,规范化之后返回最终的路径。

如果拼接后的路径长度为0,那么会返回 .,也就是当前的工作目录。

代码语言:javascript
复制
path.join('/foo', '/bar', './abc', 'xyz');
// 返回结果:'/foo/bar/abc/xyz'

path.join('foo', 'bar');
// 返回结果:'foo/bar'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. path.resolve([…paths])
  • 2. path.join([…paths])
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档