1. 程式人生 > >nodejs的__dirname,__filename,process.cwd()區別

nodejs的__dirname,__filename,process.cwd()區別

假定我們有這樣一個mynode的node專案在User/leinov/porject/資料夾下,cli是一個可執行檔案

|-- mynode
    |-- bin
        |-- cli.js
    |-- src
        |-- index.js
        |-- app.js
        |-- index.scss

__dirname

獲取當前執行檔案所在目錄的完整目錄名,無論我們在哪裡執行(沒有npm link的情況下)cli.js,都會返回

$ User/leinov/porject/mynode/bin/

__filename

獲得當前執行檔案的帶有完整絕對路徑的檔名

$ User/leinov/porject/mynode/bin/cli.js

process.cwd()

獲得當前執行node命令時候的資料夾目錄名 ,比如我們在src 下執行cli命令則返回,可以理解為在哪個資料夾下執行node命令就返回哪個資料夾

$ User/leinov/porject/mynode/src

./ || ../ || xxx

檔案所在目錄的相對路徑