How to Check if a Directory Exists using Node

Updated onbyAlan Morel
How to Check if a Directory Exists using Node

Because Node runs on the server, it has access to the file system.

Sometimes you need to know if a directory exists or not before continuing on with your program.

In this post, we'll learn how we can asynchronously check if a directory exists using Node.

How to check if a directory exists

The easiest way to check if a directory exists is to import the fs module and use the access method.

This method allows you to asynchronously attempt to access the directory at the path you provide.

Let's say this is the path you want to check:

JAVASCRIPT
const path = "/path/to/directory";

Call the access method with the path as the first argument:

JAVASCRIPT
import { promises as fs } from "fs"; const path = "/path/to/directory"; const exists = async path => { try { await fs.access(path); } catch (error) { return false; } return true; }; const results = await exists(path); console.log(results);

If the directory exists, the access method will execute successfully and our exists method will return true.

If it does not, an exception will be thrown and our exists method will return false.

If you don't want to use async/await, you can alternatively use the access method by passing it a callback function:

JAVASCRIPT
import fs from "fs"; const path = "/path/to/directory"; fs.access(path, error => { const exists = !error; console.log(`Exists ${exists}`); });

Conclusion

In this post, we learned how to check if a directory exists in Node asynchronously.

You can either use async/await or pass a callback function to the access method.

Thanks for reading this post!

To learn more about web development, founding a start-up, and bootstrapping a SaaS, follow me on X!
Copyright © 2017 - 2024 Sabe.io. All rights reserved. Made with ❤ in NY.