先說結論:__dirname指的是當前文件所在文件夾的絕對路徑。 測試路徑如下: 即 根目錄/dir0.js 根目錄/path1/dir1.js 根目錄/paht1/path2/dir2.js 每個dir*.js文件里的代碼都只有一行(*號代表數字,下同): console.log('dir*: ' ...
先說結論:__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指的是當前文件所在文件夾的絕對路徑。