path.resolve()理解,江湖传说路径序列从右到左处理,我鸡er都懵了

571 阅读1分钟

比如在webpack, path.resolve(__dirname, "build")

node.js文档发现,它的解释是: path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径

f1.jpg

  • __dirname为node自带参数,返回的是当前文件所在目录

我觉得 […paths] 里的每个参数都类似在当前目录执行一个cd操作,从左到右执行,返回的是最后的当前目录

path.resolve('/fxxx/cxx','./sb')

  • cd /fxxx/cxx :此时当前路径为 /fxxx/cxx
  • cd ./sb : 此时路径为 /fxxx/cxx/sb

path.resolve('/fxxx/cxx', '/sb/kao')

  • cd /fxxx/cxx : 此时路径为 /fxxx/cxx
  • cd /sb/file/ :此时路径为 /sb/file

path.resolve('root', 'files/png/', '../gif/image.gif')

如果当前工作目录为 /home/myself/

  • cd wwwroot : 此时路径为 /home/myself/root
  • cd files/png/ :此时路径为/home/myself/root/files/png/
  • cd ../gif/image.gif : 此时路径为/home/myself/root/files/gif/image.gif

resolve的用法

比如代码中文件所在目录为:F:\webpack\src

path.resolve()

  • 输出结果: F:\webpack path.resolve()默认输出的是当前项目的根目录(工作路径)

path.resolve('/dist')

  • 输出结果: F:\dist

path.resolve('dist')

  • 输出结果:F:\webpack\dist

path.resolve('./dist')

  • 输出结果:F:\webpack\dist

path.resolve(__dirname, '/dist')

  • 输出结果:F:\dist

path.resolve(__dirname, './dist') path.resolve(__dirname, 'dist')

  • 输出结果:F:\webpack\src\dist

path.resolve(__dirname, 'dist', 'js')

  • 输出结果:F:\webpack\src\dist\js

参考文献: www.cnblogs.com/moqiutao/p/…

参考文献: blog.csdn.net/kikyou_csdn…

参考文献: blog.csdn.net/m0_37410739…

结语

前端react QQ群:788023830 ---- React/Redux - 地下老英雄

前端交流QQ群:249620372 ---- FRONT-END-JS前端

(我们的宗旨是,为了加班,为了秃顶……,仰望大佬),希望小伙伴们加群一起学习