nodejs path.join,node path.resolve

  nodejs path.join,node path.resolve

  本文带你了解nodejs中的path.join和path.resolve,并介绍path.join和path.resolve的区别,希望对你有所帮助!

  node.js速度课程简介:进入学习

  相信朋友们对这两种方法都很熟悉,path.join和path.resolve我们在编写node或者配置webpack的时候都用过这种方法。如下面一段:

  输出:{

  path: Path.join(__dirname, dist ),

  文件名:[名称]_[chunkhash:8]。js

  }但是你知道这两者的区别吗。今天笔者就来说说两者的区别和用法。

  首先,path是我们节点中的内置模块。这两种方法都在路径模块下提供。

  

Path.resolve

  不要胡说八道。先上图吧。我们可以看到resolve方法接收了无限个参数,都是string类型的,这个方法的返回值也是string类型的(这是一个路径)。

  栗子:

  //这里我们以__dirname为/root。

  Path.resolve (_ _ dirname,。/dist)//output: /root/dist

  Path.resolve (_ _ dirname, dist , dir)//output: /root/dist/dir

  Path.resolve (_ _ dirname,/dist)//Output:/dist

  Path.resolve (_ _ dirname,/dist ,./)//输出:你的磁盘根目录

  Path.resolve (_ _ dirname,/dist , .)//输出:你的磁盘根目录

  Path.resolve (_ _ dirname,/dist , .,/test )//输出:/test

  Path.resolve (_ _ dirname, dist , dir ,/test)//output:/test

  Path.resolve (_ _ dirname, dist ,null,/test)//Output:错误,参数必须是字符串类型!从上面的栗子可以看出,参数可以是任意的,返回值是一个路径(字符串类型)。但是上面的结果是,当我们的参数中遇到/是根路径时,返回值路径会有很大的变化,变化是:最后出现/根路径值是当前路径的开始。

  

Path.join

  join方法和resolve方法一样,接收无限个参数,返回值也是字符串类型。Join,顾名思义,就是拼接的意思。我们来看看join的用法。

  栗子:

  //这里我们以__dirname为/root。

  Path.join(__dirname, dist) //output: /root/dist

  Path.join (_ _ dirname, dist ,/dir)//output: /root/dist/dir

  Path.join (_ _ dirname, dist ,/dir , .)//output: /root/dist

  Path.join (_ _ dirname, dist ,/dir ,./test )//output:/root/dist/test

  Path.join (_ _ dirname, dist ,/dir ,/.test)//output: /root/dist/dir/.试验

  Path.join (_ _ dirname,/dist , .)//output: /root通过上面的栗子我们可以看到join方法只是拼接路径,不会像resolve那样遇到/root时直接用一跳替换整个路径,只是在标准时跳出目录./path是相对的。

  

二者区别

  通过以上两个栗子,相信你能总结出两者的区别。说白了,resolve方法直接改变根路径,join方法只会拼接所有参数形成一个完整的路径(当然,如果满足.或者./会跳出当前目录)。

  实际开发中很多地方还在使用这种配置。有时候,当我们写字符串的时候./src/index.html那个不生效,我们可以试试resove或者join。

  完成!就分享到这里吧。希望能给你一点知识。如果有帮助,请给文章点个赞,观看,让更多人看到。

  更多关于node的信息,请访问:nodejs教程!以上是nodejs中path.join和path.resolve的对比。谈谈他们差异的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: