关于Node中Path路径的学习笔记

一、缘起:

在webpack打包的配置文件总是遇到‘__dirname’(例如下面这个),作为一个从事前端多年的‘老白’一直对它都是用不着,就不管的态度,但出来混总是要还的>_<...所以做了这个小总结

Node.js path 模块提供了一些用于处理文件与目录的路径的实用工具。 它可以使用以下方式访问:

 

 

二、探究

路径分为:相对路径和绝对路径

1、相对路径有./ 或者 ../两个(可通过path.resolve('./')来转换为绝对路径)

2、绝对路径有__dirname、__filename、process.cwd()三个

测试:新建简单文件path如下(不同环境有所不同,以下是在window环境测试所得)

 

 

三、从上面的打印信息可得出的总结:

(1)__dirname: 总是返回被执行的 js 所在文件夹的绝对路径

(2)__filename: 总是返回被执行的 js 的绝对路径

(3)process.cwd(): 总是返回运行 node 命令时所在的文件夹的路径

(4)./跟 process.cwd() 相同(这里必须要注意特殊情况require)

 

四、关于require()的路径特殊说明

(1)在require()中使用‘./’和‘../’,是跟使用 __dirname 的效果相同,不会因为启动脚本的目录不一样而改变;

(2)在其他情况下跟 process.cwd() 效果相同,是相对于启动脚本所在目录的路径。

结论:只有在 require() 时才使用相对路径(./, ../) 的写法,其他地方一律使用绝对路径。

 

 

posted @ 2020-04-27 14:48  老白也是白  阅读(342)  评论(0编辑  收藏  举报