
David Y.
—How can I check synchronously if a file or directory exists in Node.js?
The function fs.existsSync() can be used to synchronously check if a file or directory exists. The asynchronous version of this function, fs.exists(), is deprecated, but fs.existsSync() will still work.
Example usage:
const fs = require("fs"); if (fs.existsSync("/tmp/myfile")) { console.log("/tmp/myfile exists!"); } else { console.log("/tmp/myfile does not exist!"); }
Note that this function will return True if myfile is a file or a directory, as long as it exists. We can use fs.lstatSync() on the path to retrieve an fs.Stats object containing information about the path. This object has an isDirectory() method we can use:
const fs = require("fs"); if (fs.existsSync("/tmp/myfile")) { console.log("/tmp/myfile exists!"); if (fs.lstatSync("/tmp/myfile").isDirectory()) { console.log("/tmp/myfile is a directory!"); } else { console.log("/tmp/myfile is a file!"); } } else { console.log("/tmp/myfile does not exist!"); }
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.
