NodeJS 中 fs-extra 的同步复制
同步复制简介
此方法以同步方式将文件或目录从一个位置复制到另一个位置。该目录可以包含子目录和文件。
语法
copySync(src, dest[, options])
参数
src – 这是一个字符串参数,用于保存需要复制的文件或目录的源位置。如果位置是目录,则会复制目录中的所有内容,而不是整个目录。
dest – 用于保存文件/目录将要复制到的目标位置。如果 src 是文件,则 dest 不能是目录。
选项
overwrite – 如果设置为 true,则会覆盖现有的文件或目录。默认值为 true。
errorOnExist – 仅当 overwrite 设置为 false 时,如果目标文件/文件夹存在,则会抛出错误。
preserveTimestamps – 如果为 true,则最新修改和访问时间将设置为原始文件的时间,否则将取决于操作系统。
filter – 此选项将过滤复制的文件。如果设置为 true,则包含过滤的文件。
由于它是同步复制,因此它没有回调函数。
示例 1
在继续之前,请检查是否已安装 fs-extra;如果未安装,请安装 fs-extra。
您可以使用以下命令检查是否已安装 fs-extra。
npm ls fs-extra
创建一个 syncCopyExample.js 文件,并将以下代码片段复制粘贴到该文件中。
现在,运行以下命令来运行以下代码片段。
node syncCopyExample.js
代码片段 −
const fs = require('fs-extra') // copying file in sync process fs.copySync('/tmp/myfile', '/tmp/mynewfile') console.log("File copied in Sync") // Copies directory from src to dest fs.copySync('/tmp/mydir', '/tmp/mynewdir') console.log("Directory copied in Sync")
输出
C:\Users\tutorialsPoint\> node syncCopyExample.js File copied in Sync Directory copied in Sync
示例 2(使用 filter 函数)
const fs = require('fs-extra') // Copying files with .txt or .avi as extension fs.copySync( '/tmp/newFile.txt', '/tmp/myfile2.txt', /.*(.txt|.avi)$/, (err) => { console.log ('An error occured while copying')}) console.log("Successfully copied !") C:\Users\tutorialsPoint\> node syncCopyExample.js Successfully copied!
广告