fs.copyFile(src, dest[, mode], callback)


    异步地将 src 复制到 dest。 默认情况下,如果 dest 已经存在,则会被覆盖。 除了可能的异常之外,没有给回调函数提供任何参数。 Node.js 不保证复制操作的原子性。 如果在打开目标文件进行写入后发生错误,Node.js 将尝试删除目标文件。

      Asynchronously copies src to dest. By default, dest is overwritten if it already exists. No arguments other than a possible exception are given to the callback function. Node.js makes no guarantees about the atomicity of the copy operation. If an error occurs after the destination file has been opened for writing, Node.js will attempt to remove the destination.

      mode is an optional integer that specifies the behavior of the copy operation. It is possible to create a mask consisting of the bitwise OR of two or more values (e.g. fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).

      • fs.constants.COPYFILE_EXCL: The copy operation will fail if dest already exists.
      • fs.constants.COPYFILE_FICLONE: The copy operation will attempt to create a copy-on-write reflink. If the platform does not support copy-on-write, then a fallback copy mechanism is used.
      • fs.constants.COPYFILE_FICLONE_FORCE: The copy operation will attempt to create a copy-on-write reflink. If the platform does not support copy-on-write, then the operation will fail.
      import { copyFile, constants } from 'node:fs';
      
      function callback(err) {
        if (err) throw err;
        console.log('source.txt was copied to destination.txt');
      }
      
      // destination.txt will be created or overwritten by default.
      copyFile('source.txt', 'destination.txt', callback);
      
      // By using COPYFILE_EXCL, the operation will fail if destination.txt exists.
      copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback);