Skip to content

How to get the current folder in Node

New Course Coming Soon:

Get Really Good at Git

The two ways of referencing the filesystem: ./ and __dirname, explained

There are basically two ways to reference the current folder in a Node.js script:

Along with ./, there is ../, which points to the parent folder. They behave in the same way.

There is a big difference between the two.

Using __dirname in a Node script will return the path of the folder where the current JavaScript file resides.

Using ./ will give you the current working directory. It will return the same result as calling process.cwd().

Initially the current working directory is the path of the folder where you ran the node command, but that can be changed during the execution of your script, by using the process.chdir() API.

There is just one place where ./ refers to the current file path, and it’s in a require() call. In there, ./ (for convenience) will always refer to the JavaScript file path, letting you import other modules based on the folder structure.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!
→ Get my Node.js Handbook
→ Read my Node.js Tutorial on The Valley of Code

Here is how can I help you: