How to Create a Directory using Node.js ?
Last Updated :
14 Jun, 2024
In this article, we will create a directory using NodeJS.
NodeJS has Filesystem(fs) core module, which enables interacting with the file system, has Node.js fs.mkdir() method or Node.js fs.mkdirSync() method method, to create new directory /parent directory.
Prerequisites:
The approaches for creating a directory using Node are mentioned below:
Using Node.js fs.mkdir()
Let’s create a new directory using fs.mkdir() method. Initially, we have single file index.js, as we can see in the given image.
index.js
Example: Edit the index.js file.
Node
const fs = require("fs");
const path = "./new-Directory";
fs.access(path, (error) => {
// To check if the given directory
// already exists or not
if (error) {
// If current directory does not exist
// then create it
fs.mkdir(path, (error) => {
if (error) {
console.log(error);
} else {
console.log("New Directory created successfully !!");
}
});
} else {
console.log("Given Directory already exists !!");
}
});
Output:
- You can check the terminal output.
- After executing the above code, node.js will create a new directory if it does not exist. A new Directory named — “new-Directory” is created.
Creating Parent Directories: If we want to create multilevel directory, fs.mkdir() has optional recursive Boolean value we can pass as a parameter.
Node
const fs = require("fs");
// Multilevel directory
const path = "./directory1/directory2/new-directory";
fs.access(path, (error) => {
// To check if given directory
// already exists or not
if (error) {
// If current directory does not exist then create it
fs.mkdir(path, { recursive: true }, (error) => {
if (error) {
console.log(error);
} else {
console.log("New Directory created successfully !!");
}
});
} else {
console.log("Given Directory already exists !!");
}
});
Output:
- New Directory created successfully.
index.js
- We can see that a multilevel directory “directory1\directory2\new-directory” is created.
index.js
Removing a folder
If we want to delete a given directory, we can use Node.js fs.rmdir() Method or Node.js fs.rmdirSync() Method, it will become complicated if the directory contain some file content.
So we can use a third party package fs-extra provided by npm to delete the given directory. Let’s install the given package using npm.
Run the following command in your command line
npm install fs-extra
Example: Now run the following code to delete the given directory
Node
const fs1 = require("fs-extra");
const path = "./directory1";
fs1.remove(path, (error) => {
if (error) {
console.log(error);
} else {
console.log("Folder Deleted Successfully !!");
}
});
Output
index.js
Using Node.js fs.mkdirSync()
Let’s create a new directory using fs.mkdirSync() method. Initially, we have single file index.js, as we can see in the given image.
Example:
Node
const fs1 = require("fs-extra");
// Node.js program to demonstrate the
// fs.mkdirSync() method
const fs = require("fs");
const path = require("path");
// Using fs.exists() method to
// Check that the directory exists or not
console.log("Checking for directory" + path.join(__dirname, "Tisu"));
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
console.log(exists ? "The directory already exists" : "Not found!");
});
// Using fs.mkdirSync() method
// To create the directory recursively
fs.mkdirSync(path.join(__dirname, "Tisu"), true);
// Using fs.exists() method to
// Check that the directory exists or not
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
console.log(exists ? "The directory already exists" : "Not found!");
});
Output:
Conclusion
Creating a directory using Node.js involves using the fs
module’s mkdir
or mkdirSync
methods. These methods allow asynchronous or synchronous directory creation, respectively. Ensure to handle errors properly, especially for asynchronous operations, to prevent runtime issues and enhance the robustness of your Node.js application.