1. 程式人生 > >node中的__dirname

node中的__dirname

console 裏的 users XA mage log 代碼 com 數字

先說結論:__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指的是當前文件所在文件夾的絕對路徑。

node中的__dirname