Optimize Your File Management with JavaScript’s fs-extra Library
The fs-extra
library is a popular extension of Node.js’s built-in fs
module that adds several useful functionalities. It provides dozens of useful APIs for better file system management, simplifying the process and making it more efficient.
Introduction to fs-extra
The fs-extra
module is a drop-in replacement for the native fs
module in Node.js. It comes with a variety of new file system methods that make it easier to work with files and directories. Whether you are copying files, creating directories, moving files, or ensuring a path exists, fs-extra
has got you covered.
Basic Installation
npm install fs-extra
API Examples
Copying a File
const fs = require('fs-extra');
fs.copy('source.txt', 'destination.txt')
.then(() => console.log('File copied!'))
.catch(err => console.error(err));
Copying a Directory
const fs = require('fs-extra');
fs.copy('/tmp/mydir', '/tmp/mynewdir')
.then(() => console.log('Directory copied!'))
.catch(err => console.error(err));
Creating a Directory
const fs = require('fs-extra');
fs.ensureDir('/tmp/mydir')
.then(() => console.log('Directory created!'))
.catch(err => console.error(err));
Removing a File
const fs = require('fs-extra');
fs.remove('/tmp/myfile')
.then(() => console.log('File removed!'))
.catch(err => console.error(err));
Writing a JSON File
const fs = require('fs-extra');
fs.writeJson('/tmp/myfile.json', { name: 'fs-extra' })
.then(() => console.log('JSON file written!'))
.catch(err => console.error(err));
Reading a JSON File
const fs = require('fs-extra');
fs.readJson('/tmp/myfile.json')
.then(data => console.log(data))
.catch(err => console.error(err));
Example Node.js Application
Let’s put together some of the fs-extra
APIs in a simple Node.js application. Below is an example showing how to create a directory, write a JSON file, read the JSON file, and then delete the file and directory:
const fs = require('fs-extra');
const dir = '/tmp/mydir'; const file = `${dir}/myfile.json`;
async function fileOperations() {
try {
await fs.ensureDir(dir);
console.log('Directory created');
await fs.writeJson(file, { name: 'fs-extra' });
console.log('JSON file written');
const data = await fs.readJson(file);
console.log('Read from JSON file:', data);
await fs.remove(file);
console.log('File removed');
await fs.remove(dir);
console.log('Directory removed');
} catch (err) {
console.error(err);
}
}
fileOperations();
In this example, we used fs-extra
to ensure a directory exists, write a JSON file to that directory, read from the JSON file, and finally, clean up by removing both the file and the directory. This demonstrates the power and simplicity of fs-extra
in handling everyday file system tasks.
Hash: baa7356b4f0c2575dee44bd5f6d501229f80ea3a4d3bcaa5e3d2a118df6bd4ee