path.join 与 path.resolve 的区别
对比
举一个简单的例子
const path = require('path');
console.log(__dirname); //D:\myProgram\test
let myPath = path.join(__dirname,'/img/so'); //D:\myProgram\test\img\so let myPath2 = path.join(__dirname,'./img/so'); //D:\myProgram\test\img\so let myPath3 = path.resolve(__dirname,'/img/so'); //D:\img\so<br> let myPath4 = path.resolve(__dirname,'./img/so'); //D:\myProgram\test\img\so
总结
path.join()方法可以连接任意多个路径字符串。要连接的多个路径可做为参数传入。
path.join()方法在接边路径的同时也会对路径进行规范化
path.resolve()方法可以将多个路径解析为一个规范化的绝对路径。其处理方式类似于对这些路径逐一进行cd操作,与cd操作不同的是,这引起路径可以是文件,并且可不必实际存在(resolve()方法不会利用底层的文件系统判断路径是否存在,而只是进行路径字符串操作)。
resolve的详解可以参考:
https://www.cnblogs.com/zytt/p/9038598.html
1. 对于以/开始的路径片段,path.join只是简单的将该路径片段进行拼接,而path.resolve将以/开始的路径片段作为根目录,在此之前的路径将会被丢弃,就像是在terminal中使用cd命令一样。
path.join('/a', '/b') // 'a/b' path.resolve('/a', '/b') // '/b'
2. path.resolve总是返回一个以相对于当前的工作目录(working directory)的绝对路径。
path.join('./a', './b') // 'a/b' path.resolve('./a', './b') // '/Users/username/Projects/webpack-demo/a/b'
转载于:https://www.cnblogs.com/amcy/p/10268602.html
path.join 与 path.resolve 的区别相关推荐
- 详细解释C# 中Path.Join与Path.Combine的区别
C# 中Path.Join与Path.Combine的区别 public static void Main(){var path1 = "C:/Program Files/";va ...
- path.join 和 path.resolve的区别
path.join path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径. path.join([...paths]); ...paths str ...
- 理解path.join() 和 path.resolve()
转载:https://blog.csdn.net/u010238381 path.resolve('/foo/bar', './baz'); // 返回: '/foo/bar/baz' path.re ...
- 关于path.join,path.resolve的详细介绍
vue-cli生成的webpack配置中有大量path.resolve,path.join,有些模糊.网上查了好久,终于发现一篇讲的比较全面的文章 1.连接路径:path.join([path1][, ...
- glob.glob() + os.path.join() :找到文件路径,拼接路径
1. glob方法: glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表(list):该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径),其返回的文件 ...
- node 的path模块中 path.resolve()和path.join()的区别
一.path模块的引入. 直接引用.node中自带的模块 const path = require('path'); 二.path.join(path1,path2,path3-) 作用: 将路径片段 ...
- NodeJs中, 使用__dirname, __filename, path.resolve(), path.join(), process.cwd()的区别
MasOs系统,在终端中, /Users/a1234/Desktop/ 目录下,执行命令 node script/demo.js # __dirname - 返回当前模块的目录名 console.lo ...
- python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题
浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...
- python中os.path.join()的循环用法_python中使用os.path.join()
os.path.join的详细解释请移步os.path模块 在使用的过程中,我使用如下代码: import os path = "F:/gts/gtsdate/" b = os.p ...
最新文章
- 【Appium】Appium工作原理
- 手机 滑动_真的滑动屏,华为手机柔性屏新的专利布局
- 产品经理常用工具有哪些?哪些产品经理工具最有用?
- linux修改hostname
- uva 465 - Overflow
- 【转自小峰博客】协调器的启动【自动模式】
- Android中文API(128) —— HandlerThread
- iphone换机数据迁移_iPhone 与安卓手机备份与资料迁移的方法
- matlab信号系统响应实验,信号与系统实验(MATLAB版) (1)
- 批处理版音视频播放器(甲兵时代原创批处理)(上)
- 七剑下天山-告别时域分析的过渡课堂练习-SS2022s
- lol服务器稳定性补偿,lol游戏稳定性补偿皮肤领取
- HTML谷歌怎么加背景音乐,谷歌Chrome浏览器怎么提取网页的背景音乐?
- 初识HTML(五)进阶:CSS盒子模型、页面布局
- 电子漫画系列更新10张!古老的示波器,USB hub萌妹,超级酷的焊接壁画
- 成都电子科技大学深圳校区计算机学院导师简介
- 词霸天下---词根227【-gress- = -grad- = -gred- = -gre(e)- 步,走】
- matlab坐标位置灰色,MATLAB画图工具中坐标外面的底色是灰的,该如修改?
- BOL简单分析(二)
- 华为如何开展人力资源管理变革