node中的__filename和__dirname的使用詳解
在node.js開(kāi)發(fā)中,有時(shí)候需要獲取一些環(huán)境變量,其中__filename和__dirname 是兩個(gè)有用的環(huán)境變量。__dirname 獲取的是調(diào)用__dirname的腳本文件本身的絕對(duì)路徑,不是啟動(dòng)腳本文件的絕對(duì)路徑。
變量名稱(chēng) | 意義 |
__filename | 獲取當(dāng)前模塊文件的帶有完整絕對(duì)路徑的文件名 |
__dirname | 獲得當(dāng)前文件所在目錄的完整絕對(duì)目錄名,等同于path.dirname(__filename) |
驗(yàn)證測(cè)試:
1、新建一個(gè)目錄G:\Testroom\nodeDirTest,在這個(gè)目錄下編輯一個(gè)代碼文件 index.js 如下:
const path = require("path");
const { getConfig } = require("./utils/utils");
console.log(__dirname);
console.log(__filename);
console.log(path.dirname(__filename));
console.log("getConfig:", getConfig());
2、再在 G:\Testroom\nodeDirTest 新建一個(gè)目錄utils ,并在這個(gè)目錄下編輯一個(gè)代碼文件 utils.js 內(nèi)容如下:
const path = require("path");
console.log(__dirname);
console.log(__filename);
console.log(path.dirname(__filename));
function getConfig(path) {
return __dirname;
}
module.exports.getConfig = getConfig;
3、打開(kāi)cmd命令行,進(jìn)入 G:\Testroom\nodeDirTest 目錄,執(zhí)行 node index.js ,結(jié)果如下:

到此這篇關(guān)于node中的__filename和__dirname的使用詳解的文章就介紹到這了,更多相關(guān)node __filename和__dirname內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nodejs不用electron實(shí)現(xiàn)打開(kāi)文件資源管理器并選擇文件
最近在開(kāi)發(fā)一些小腳本,用 nodejs 實(shí)現(xiàn),其中很多功能需要選擇一個(gè)/多個(gè)文件,或者是選擇一個(gè)文件夾,這種情況下網(wǎng)上給出的解決方案都是 electron,但是我一個(gè)小腳本用 electron 屬實(shí)有點(diǎn)夸張了,后來(lái)轉(zhuǎn)念一想可以通過(guò) powershell 來(lái)實(shí)現(xiàn)類(lèi)似的功能,需要的朋友可以參考下2024-01-01
Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解
這篇文章主要為大家介紹了Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Express下采用bcryptjs進(jìn)行密碼加密的方法
本篇文章主要介紹了Express下采用bcryptjs進(jìn)行密碼加密的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
node.js中module模塊的功能理解與用法實(shí)例分析
這篇文章主要介紹了node.js中module模塊的功能理解與用法,結(jié)合實(shí)例形式分析了node.js module模塊的基本功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
node.js中的fs.createWriteStream方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.createWriteStream方法使用說(shuō)明,本文介紹了fs.createWriteStream方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例
本篇文章主要介紹了nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例,詳細(xì)的介紹了NodeJS操作MySQL數(shù)據(jù)庫(kù),作為應(yīng)用最為廣泛的開(kāi)源數(shù)據(jù)庫(kù)則成為我們的首選,有興趣的可以了解一下。2017-01-01
詳解nodejs中exports和module.exports的區(qū)別
本文主要介紹了exports 和 module.exports 的區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02

