在前端开发中,我们经常需要复制一些文件来进行不同环境的部署或者备份。但是直接复制可能会导致文件夹结构丢失,特别是当我们需要复制大量文件时,手动逐个复制变得不可行。本文将介绍如何使用 Node.js 来复制多个文件并保持原有的文件夹结构。
使用 fs 模块复制文件
Node.js 提供了 fs
模块,可以通过该模块来进行文件操作。我们可以使用 fs.copyFileSync()
方法来复制单个文件。下面是一个简单的示例:
const fs = require('fs'); fs.copyFileSync('source.txt', 'destination.txt');
上述代码将源文件 source.txt
复制到目标文件 destination.txt
。
但是,如果我们想要复制整个文件夹并保持原有的文件夹结构,这种方法就无法胜任了。
使用 recursive-copy 模块复制多个文件
recursive-copy
是一个第三方模块,它专门用于处理文件和文件夹复制。我们可以通过 NPM 安装它:
npm install recursive-copy --save
安装完成后,我们就可以在 Node.js 中使用它了。下面是一个示例代码:
const copy = require('recursive-copy'); copy('source', 'destination').then(() => { console.log('Copy completed!'); }).catch((error) => { console.error('Copy failed: ', error); });
上述代码将源文件夹 source
复制到目标文件夹 destination
,包括所有子文件夹和文件,并保持原有的文件夹结构。
使用通配符复制指定类型的文件
如果我们只想复制某种类型的文件,可以使用通配符来筛选。下面是一个示例代码:
const copy = require('recursive-copy'); copy('source/**/*.txt', 'destination').then(() => { console.log('Copy completed!'); }).catch((error) => { console.error('Copy failed: ', error); });
上述代码将源文件夹 source
中所有扩展名为 .txt
的文件复制到目标文件夹 destination
中,包括所有子文件夹,并保持原有的文件夹结构。
总结
通过使用 recursive-copy
模块,我们可以轻松地复制多个文件并保持原有的文件夹结构。同时,我们还可以使用通配符来复制指定类型的文件。这些方法能够提高我们的工作效率,特别是在需要处理大量文件时。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/14858