纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

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

小妮浅浅   2021-08-25 我要评论
想了解Node.js中path.join()优势例举分析的相关内容吗小妮浅浅在本文为您仔细讲解Node.js中path.join()的优势的相关知识和一些Code实例欢迎阅读和指正我们先划重点: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\src

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

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

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

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

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

…也是代表上一级目录。


相关文章

猜您喜欢

  • jQuery轮播图效果 利用jQuery实现轮播图效果

    想了解利用jQuery实现轮播图效果的相关内容吗别摸头会长不高耶!在本文为您仔细讲解jQuery轮播图效果的相关知识和一些Code实例欢迎阅读和指正我们先划重点:jQuery,轮播图下面大家一起来学习吧。..
  • uniapp项目打包 uniapp项目打包为桌面应用的方法步骤

    想了解uniapp项目打包为桌面应用的方法步骤的相关内容吗China_Lzw在本文为您仔细讲解uniapp项目打包的相关知识和一些Code实例欢迎阅读和指正我们先划重点:uniapp项目打包,uniapp打包桌面应用下面大家一起来学习吧。..

网友评论

Copyright 2020 www.Videogametimes.com 【视游时光】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式