对比

举一个简单的例子

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 的区别相关推荐

  1. 详细解释C# 中Path.Join与Path.Combine的区别

    C# 中Path.Join与Path.Combine的区别 public static void Main(){var path1 = "C:/Program Files/";va ...

  2. path.join 和 path.resolve的区别

    path.join path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径. path.join([...paths]); ...paths str ...

  3. 理解path.join() 和 path.resolve()

    转载:https://blog.csdn.net/u010238381 path.resolve('/foo/bar', './baz'); // 返回: '/foo/bar/baz' path.re ...

  4. 关于path.join,path.resolve的详细介绍

    vue-cli生成的webpack配置中有大量path.resolve,path.join,有些模糊.网上查了好久,终于发现一篇讲的比较全面的文章 1.连接路径:path.join([path1][, ...

  5. glob.glob() + os.path.join() :找到文件路径,拼接路径

    1. glob方法: glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表(list):该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径),其返回的文件 ...

  6. node 的path模块中 path.resolve()和path.join()的区别

    一.path模块的引入. 直接引用.node中自带的模块 const path = require('path'); 二.path.join(path1,path2,path3-) 作用: 将路径片段 ...

  7. NodeJs中, 使用__dirname, __filename, path.resolve(), path.join(), process.cwd()的区别

    MasOs系统,在终端中, /Users/a1234/Desktop/ 目录下,执行命令 node script/demo.js # __dirname - 返回当前模块的目录名 console.lo ...

  8. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

    浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...

  9. python中os.path.join()的循环用法_python中使用os.path.join()

    os.path.join的详细解释请移步os.path模块 在使用的过程中,我使用如下代码: import os path = "F:/gts/gtsdate/" b = os.p ...

最新文章

  1. 【Appium】Appium工作原理
  2. 手机 滑动_真的滑动屏,华为手机柔性屏新的专利布局
  3. 产品经理常用工具有哪些?哪些产品经理工具最有用?
  4. linux修改hostname
  5. uva 465 - Overflow
  6. 【转自小峰博客】协调器的启动【自动模式】
  7. Android中文API(128) —— HandlerThread
  8. iphone换机数据迁移_iPhone 与安卓手机备份与资料迁移的方法
  9. matlab信号系统响应实验,信号与系统实验(MATLAB版) (1)
  10. 批处理版音视频播放器(甲兵时代原创批处理)(上)
  11. 七剑下天山-告别时域分析的过渡课堂练习-SS2022s
  12. lol服务器稳定性补偿,lol游戏稳定性补偿皮肤领取
  13. HTML谷歌怎么加背景音乐,谷歌Chrome浏览器怎么提取网页的背景音乐?
  14. 初识HTML(五)进阶:CSS盒子模型、页面布局
  15. 电子漫画系列更新10张!古老的示波器,USB hub萌妹,超级酷的焊接壁画
  16. 成都电子科技大学深圳校区计算机学院导师简介
  17. 词霸天下---词根227【-gress- = -grad- = -gred- = -gre(e)- 步,走】
  18. matlab坐标位置灰色,MATLAB画图工具中坐标外面的底色是灰的,该如修改?
  19. BOL简单分析(二)
  20. 华为如何开展人力资源管理变革

热门文章

  1. Android大图片裁剪终极解决方案 原理分析
  2. Oracle学习(十四)分表分区
  3. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)...
  4. jdbcTemplate数据库连接的使用
  5. 超详细SQLMap使用攻略及技巧分享
  6. ASP.NET学习笔记 —— 一般处理程序之图片上传
  7. 多域名下Mvc的Http缓存冲突的问题
  8. 扩展欧几里得学习笔记
  9. Windows - 通过注册表编辑器来删除多余盘符
  10. 基础 - jQuery选项卡