node中的__dirname

先说结论:__dirname指的是当前文件所在文件夹的绝对路径。

 

测试路径如下:

即 根目录/dir0.js

    根目录/path1/dir1.js

    根目录/paht1/path2/dir2.js

 

 

每个dir*.js文件里的代码都只有一行(*号代表数字,下同):

console.log('dir*: '+__dirname);

 

一. 在根目录下执行上述3个js文件

1.执行node dir0.js

localhost:dirname Yuki$ node dir0.js
dir0: /Users/yuki/FE/example/dirname

2.执行node dir1.js

localhost:dirname Yuki$ node path1/dir1.js
dir1: /Users/yuki/FE/example/dirname/path1

3.执行node dir2.js

localhost:dirname Yuki$ node path1/path2/dir2.js
dir2: /Users/yuki/FE/example/dirname/path1/path2

总结:在根目录下执行不同目录下的3个文件,__dirname地址分别为3个文件所在文件夹的绝对路径。

 

二.在当前文件所在文件夹下执行js文件

1.执行node dir0.js

与上面一致。

2.执行node dir1.js

localhost:dirname Yuki$ cd path1
localhost:path1 Yuki$ node dir1.js
dir1: /Users/yuki/FE/example/dirname/path1

3.执行node 

localhost:path1 Yuki$ cd path2
localhost:path2 Yuki$ node dir2.js
dir2: /Users/yuki/FE/example/dirname/path1/path2

总结:在当前文件所在文件夹下执行js文件,__dirname为当前文件所在文件夹绝对路径。

 

 所以:综上所述,

__dirname指的是当前文件所在文件夹的绝对路径。

 

posted @ 2018-05-14 22:08  LittleJoo  阅读(1375)  评论(0编辑  收藏  举报