一、緣起:
在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() 時才使用相對路徑(./, ../) 的寫法,其他地方一律使用絕對路徑,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/108306.html
標籤:JavaScript
上一篇:四月份前端面試指北
下一篇:用原生JS寫16進制隨機顏色
