fs.appendFile(path, data[, options], callback)
- 
path<string> | <Buffer> | <URL> | <number> 文件名或文件描述符¥
path<string> | <Buffer> | <URL> | <number> filename or file descriptor - 
- 
mode<integer> 默认值:0o666¥
mode<integer> Default:0o666 - 
flag<string> 参见 支持文件系统flags。默认值:'a'。¥
flag<string> See support of file systemflags. Default:'a'. - 
flush<boolean> 如果是true,则在关闭基础文件描述符之前将其刷新。默认值:false。¥
flush<boolean> Iftrue, the underlying file descriptor is flushed prior to closing it. Default:false. 
 - 
callback<Function>err<Error>
 
异步地将数据追加到文件,如果该文件尚不存在,则创建该文件。data 可以是字符串或 <Buffer>。
¥Asynchronously append data to a file, creating the file if it does not yet
exist. data can be a string or a <Buffer>.
mode 选项仅影响新创建的文件。有关详细信息,请参阅 fs.open()。
¥The mode option only affects the newly created file. See fs.open()
for more details.
import { appendFile } from 'node:fs';
appendFile('message.txt', 'data to append', (err) => {
  if (err) throw err;
  console.log('The "data to append" was appended to file!');
}); 如果 options 是字符串,则它指定编码:
¥If options is a string, then it specifies the encoding:
import { appendFile } from 'node:fs';
appendFile('message.txt', 'data to append', 'utf8', callback); 可以将 path 指定为已打开用于追加(使用 fs.open() 或 fs.openSync())的数字文件描述符。文件描述符不会自动关闭。
¥The path may be specified as a numeric file descriptor that has been opened
for appending (using fs.open() or fs.openSync()). The file descriptor will
not be closed automatically.
import { open, close, appendFile } from 'node:fs';
function closeFd(fd) {
  close(fd, (err) => {
    if (err) throw err;
  });
}
open('message.txt', 'a', (err, fd) => {
  if (err) throw err;
  try {
    appendFile(fd, 'data to append', 'utf8', (err) => {
      closeFd(fd);
      if (err) throw err;
    });
  } catch (err) {
    closeFd(fd);
    throw err;
  }
});