With the fs module in Node.js you can check if a file exists by using the synchronous fs.existsSync(path)
method which has the following signature:
function existsSync(path: PathLike): boolean;
The following snippet shows how you would use this in code. It is important to note that this is “blocking” because fs.existsSync
is synchronous.
const fs = require('fs');
if(fs.existsSync('path-to-your-file')) {
// file exists. Let's do something with it
}
It is usually advisable to make use of Node.js’ asynchronous methods. There used to be fs.exists
but that is deprecated, instead you can use the fs.stat(path)
method. It has this signature:
function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;
This is how you might use it in your code:
fs.stat('./packages.json', (err, status) => {
if(err) {
if(err.code === 'ENOENT') {
// file doesn't exist
}
// handle other potential errors here
}
// file exists, do something with the file
})
You could also use the fs.access(path)
method:
function access(path: PathLike, callback: NoParamCallback): void;
fs.access('./packages.json', (err) => {
if(err) {
// file doesn't exist
}
// file exists
});