我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Node.js中path.join()优势例举分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Node.js中path.join()优势例举分析

您可能想知道为什么要使用 path.join() 方法而不是字符串拼接。


'/path' + '/' + 'to' + '/' + 'test.txt' // '/path/to/test.txt'
 
['/path', 'to', 'test.txt'].join('/') // '/path/to/test.txt'

1、对于Windows支持。Windows 使用反斜杠(\)而不是正斜杠(/)作为路径分隔符。

path.join() 会为我们处理此问题。因为 path.join('data', 'test.txt') 在 Linux 和 OSX 以及 Windows 上都会返回 'data/test.txt'。

2、用于处理边缘情况。使用文件系统路径时,会弹出许多边缘情况。

例如,如果您尝试手动连接两个路径,您可能会意外地得到重复的路径分隔符。path.join() 方法为我们处理开头和结尾的斜杠。


path.join('data', 'test.txt') // 'data/test.txt'
path.join('data', '/test.txt') // 'data/test.txt'
path.join('data/', 'test.txt') // 'data/test.txt'
path.join('data/', '/test.txt') // 'data/test.txt'

知识点扩展:

一、path.join()方法

path.join()方法是将多个参数字符串合并成一个路径字符串

console.log(path.join(__dirname,‘a',‘b')); 假如当前文件的路径是E:/node/1,那么拼接出来就是E:/node/1/a/b。

console.log(path.join(__dirname,'/a','/b','…')); 路径开头的/不会影响拼接,…代表上一级文件,拼接出来的结果是:E:/node/1/a

console.log(path.join(__dirname,‘a',{},‘b')); 而且path.join()还会帮我们做路径字符串的校验,当字符串不合法时,会抛出错误:Path must be a string.

二、path.resolve()方法

path.resolve()方法是以程序为根目录,作为起点,根据参数解析出一个绝对路径

以应用程序为根目录

普通字符串代表子目录

/代表绝对路径根目录

console.log(path.resolve()); 得到应用程序启动文件的目录(得到当前执行文件绝对路径) E:\zf\webpack\1\class="lazy" data-src

console.log(path.resolve(‘a','/c')); E:/c ,因为/斜杠代表根目录,所以得到的就是E:/c

所以我们一般拼接的时候需要小心点使用/斜杠

console.log(path.resolve(__dirname,‘img/so')); E:\zf\webpack\1\class="lazy" data-src\img\so 这个就是将文件路径拼接,并不管这个路径是否真实存在。

console.log(path.resolve(‘wwwroot', ‘static_files/png/', ‘…/gif/image.gif')) E:\zf\webpack\1\class="lazy" data-src\wwwroot\static_files\gif\image.gif

这个是用当前应用程序启动文件绝对路径与后面的所有字符串拼接,因为最开始的字符串不是以/开头的。

…也是代表上一级目录。

到此这篇关于Node.js中path.join()优势例举分析的文章就介绍到这了,更多相关Node.js中path.join()的优势内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Node.js中path.join()优势例举分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中栈举例分析

本篇内容主要讲解“Python中栈举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中栈举例分析”吧!1、问题描述Python中数据类型有列表,元组,字典,队列,栈,树等等。像列
2023-06-25

Python中文问题举例分析

本篇内容介绍了“Python中文问题举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在这之前,我们先要了解Python中有两种字符串,
2023-06-17

Node.js中的示例分析

小编给大家分享一下Node.js中的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Node.js 的非阻塞 I/OI/O 即 Input/Output,一
2023-06-15

Java的使用优势实例分析

这篇文章主要介绍了Java的使用优势实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java的使用优势实例分析文章都会有所收获,下面我们一起来看看吧。new个对象new一个对象,是我们在编程中最常用的操作
2023-06-27

scala隐式转换优先级问题举例分析

本篇内容介绍了“scala隐式转换优先级问题举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!隐式转换编译器会优先选择方法的参数作为转换
2023-06-03

MyBatis Mapper中的通用example举例分析

本篇内容介绍了“MyBatis Mapper中的通用example举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MyBatis通用M
2023-06-22

JavaScript中MutationObServer监听DOM元素举例分析

这篇文章主要介绍“JavaScript中MutationObServer监听DOM元素举例分析”,在日常操作中,相信很多人在JavaScript中MutationObServer监听DOM元素举例分析问题上存在疑惑,小编查阅了各式资料,整理
2023-06-21

编程热搜

目录