EN
Node.js - get list of filenames in directory
0
points
In this article, we would like to show you how to get a list of the names of all files (one level deep) in a specified directory in Node.js.
Asynchronous version:
const fs = require('fs');
fs.readdir(pathToDirectory, { withFileTypes: true }, (error, files) => {
const filesInDIrectory = files
.filter((item) => item.isFile())
.map((item) => item.name);
console.log(filesInDIrectory);
});
Synchronous version:
const fs = require('fs');
const filesInDIrectory = fs.readdirSync(pathToDirectory, { withFileTypes: true })
.filter((item) => item.isFile())
.map((item) => item.name);
Practical example
Projects structure
Project/
|
+-- my_directory/
| |
| +-- file.json
|
+-- my_script.js
my_script.js
const fs = require('fs');
fs.readdir('./', (error, files) => {
if (error) throw error;
console.log(files);
});
fs.readdir('./', { withFileTypes: true }, (error, files) => {
if (error) throw error;
const filesInDIrectory = files
.filter((item) => item.isFile())
.map((item) => item.name);
console.log(filesInDIrectory);
});
Output:
[
'my_script.js'
]
Note:
The result of the operation will be a list of files on the first depth level - files in folders located in the directory we search will not be displayed.
The path'./'
is the directory where the executing script is located (in this case,Project
).