千家信息网

nodejs中path.join和path.resolve的有什么区别

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"nodejs中path.join和path.resolve的有什么区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"nodejs中
千家信息网最后更新 2026年11月03日nodejs中path.join和path.resolve的有什么区别

这篇文章主要讲解了"nodejs中path.join和path.resolve的有什么区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"nodejs中path.join和path.resolve的有什么区别"吧!

相信小伙伴们都对这两个方法path.join、path.resolve不陌生,在我们写node或者配置webpack的时候都用过该方法。比如下面这段:

output: {   path: Path.join(__dirname, "dist"),   filename: "[name]_[chunkhash:8].js"}

但是你知道这两个的区别吗。今天笔者就来讲一下二者区别及用法。

先说一下,path为我们node中的一个内置模块,这两个方法都是path模块下提供的。

Path.resolve

不废话,先上图。我们可以看到resolve方法接收无限的参数且都是string类型的,该方法返回值也是string类型的(是一个路径)。

栗子:

// 这里我们就当__dirname是 /rootpath.resolve(__dirname, "./dist") // 输出:/root/distpath.resolve(__dirname, "dist", "dir") // 输出:/root/dist/dirpath.resolve(__dirname, "/dist") // 输出:/distpath.resolve(__dirname, "/dist", "../") // 输出:你的磁盘根目录path.resolve(__dirname, "/dist", "..") // 输出:你的磁盘根目录path.resolve(__dirname, "/dist", "..", "/test") // 输出:/testpath.resolve(__dirname, "dist", "dir", "/test") // 输出:/testpath.resolve(__dirname, "dist", null, "/test") // 输出:报错,参数一定要字符串类型的!

通过上面栗子我们可以看到,参数可以任意,返回值是一个路径(string类型)。然而上面的结果是当我们的参数里面遇见/就是根路径的时候,这时返回值路径会发生极大改变,变化为:以最后一次出现/根路径的值为当前路径的开始。

Path.join

join方法跟resolve方法一样,接收无限的参数,返回值也是string类型。join顾名思义就是拼接意思。我们来看一下join的用法吧

栗子:

// 这里我们就当__dirname是 /rootpath.join(__dirname, "dist") // 输出:/root/distpath.join(__dirname, "dist", "/dir") // 输出:/root/dist/dirpath.join(__dirname, "dist", "/dir", "..") // 输出:/root/distpath.join(__dirname, "dist", "/dir", "../test") // 输出:/root/dist/testpath.join(__dirname, "dist", "/dir", "/..test") // 输出:/root/dist/dir/..testpath.join(__dirname, "/dist", "..") // 输出:/root

通过上面栗子我们可以看到join方法只是拼接路径,也不会像resolve那样遇见/根就直接把整个路径替换跳,而只有在标准的..、../相对路径的时候跳出目录。

二者区别

通过上面的两个栗子,我相信你可以总结出二者的区别在哪里了。说白了就是resolve方法是对根路径的而直接变化的,而join方法只会将所有参数拼接,最后形成一个完整的路径(当然遇见..or../会跳出当前目录)。

这个在实际开发中配置还是用到的地方很多的,有时候我们写字符串../src/index.html不生效时,就可以试试resove or join哦。

完!就分享到这吧,希望可以对大家涨一点小知识,如有帮助请帮该文章点个赞和在看吧,让更多的人看到

感谢各位的阅读,以上就是"nodejs中path.join和path.resolve的有什么区别"的内容了,经过本文的学习后,相信大家对nodejs中path.join和path.resolve的有什么区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

输出 路径 方法 参数 类型 栗子 两个 就是 时候 学习 内容 字符 字符串 更多 根目录 模块 目录 知识 磁盘 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 互联网金融监管科技数据 厦门中拓互联网络科技有限公司 互联网科技未来 互联网科技缩写 易通互联网络科技有限公司 成都仁贤领冠互联网科技有限公司 科技大学互联网专业好不好 互联网科技有哪些公司 全球顶尖互联网科技公司 港股科技和互联网 中国科技创新与世界互联网大会 高科技互联网发展前景如何 上海钢联属于互联网科技股吗 互联网企业科技类企业如何做账 广州富喜互联网络科技 广州百诚互联网科技有限公司官网 2021世界互联网领先科技成果发布 同城互联网络科技 恒生互联网科技趋势 互联网黑科技 互联网科技网 互联网科技保险 疫情对互联网科技公司影响 亿策互联网科技 互联网汽车科技小镇 贵州叶脉互联网科技有限公司所属行业 烟台灵鸽互联网科技有限公司 厦门江牛科技互联网 每日互联网科技新闻
0