In a Node.js script, there are two common ways to reference the current folder:
- Using
./
- Using
__dirname
Let’s explore each method and understand their differences.
Using ./
The ./
notation refers to the current working directory in a Node.js script. It returns the same result as calling the function process.cwd()
, which retrieves the current working directory. Initially, the current working directory is set to the path of the folder where you ran the Node command. However, it can be changed during script execution using the process.chdir()
API.
It’s important to note that ./
is primarily used in a require()
call. Within this context, ./
conveniently refers to the JavaScript file path, allowing you to import other modules based on the folder structure.
Using __dirname
Alternatively, you can use the __dirname
variable to retrieve the path of the folder where the current JavaScript file resides. Unlike ./
, which refers to the current working directory, __dirname
is specifically tailored to provide the location of the JavaScript file itself.
By using __dirname
, you can accurately reference files within the same folder as your script or specify file paths relative to your script’s location.
In conclusion, understanding the distinction between ./
and __dirname
enables you to effectively reference the current folder or file path in your Node.js scripts.