Writing files with Node.js
Writing a file
The easiest way to write to files in Node.js is to use the fs.writeFile() API.
const = ('node:fs'); const = 'Some content!'; .('/Users/joe/test.txt', , => { if () { .(); } else { // file written successfully } }); Writing a file synchronously
Alternatively, you can use the synchronous version fs.writeFileSync():
const = ('node:fs'); const = 'Some content!'; try { .('/Users/joe/test.txt', ); // file written successfully } catch () { .(); } You can also use the promise-based fsPromises.writeFile() method offered by the fs/promises module:
const = ('node:fs/promises'); async function () { try { const = 'Some content!'; await .('/Users/joe/test.txt', ); } catch () { .(); } } (); By default, this API will replace the contents of the file if it does already exist.
You can modify the default by specifying a flag:
fs.writeFile('/Users/joe/test.txt', content, { : 'a+' }, => {}); The flags you'll likely use are
| Flag | Description | File gets created if it doesn't exist |
|---|---|---|
r+ | This flag opens the file for reading and writing | ❌ |
w+ | This flag opens the file for reading and writing and it also positions the stream at the beginning of the file | ✅ |
a | This flag opens the file for writing and it also positions the stream at the end of the file | ✅ |
a+ | This flag opens the file for reading and writing and it also positions the stream at the end of the file | ✅ |
- You can find more information about the flags in the fs documentation.
Appending content to a file
Appending to files is handy when you don't want to overwrite a file with new content, but rather add to it.
Examples
A handy method to append content to the end of a file is fs.appendFile() (and its fs.appendFileSync() counterpart):
const = ('node:fs'); const = 'Some content!'; .('file.log', , => { if () { .(); } else { // done! } }); Example with Promises
Here is a fsPromises.appendFile() example:
const = ('node:fs/promises'); async function () { try { const = 'Some content!'; await .('/Users/joe/test.txt', ); } catch () { .(); } } ();