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 100,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.