在node.js构建脚本中复制文件

时间:2013-04-18 18:02:00

标签: node.js build copy

我正在使用javascript项目,它使用节点构建脚本。

通过

将一些文件夹同步到内置文件夹中
try {
  fs.statSync('built/imgs');
} catch(err) {
  if (err.code=='ENOENT') fs.symlinkSync('../imgs', 'built/imgs');
  else throw err;
}

什么是相应的fs命令才能将文件的真实副本发送到内置文件夹?

1 个答案:

答案 0 :(得分:5)

fs对象中没有复制整个目录的功能。甚至没有一个会复制整个文件。

但是,这是一种快速简便的复制文件的方法。

var fs = require('fs');

fs.createReadStream('input_filename').pipe(fs.createWriteStream('output_filename'));

现在您只需要获取目录列表。您可以使用fs.readdirfs.readdirSync

因此,要将目录复制到另一个目录,您可能会执行以下操作:

var dir = fs.readdirSync('.');
for (var i=0; i < dir.length; i++) {
    fs.createReadStream(dir[i]).pipe(fs.createWriteStream("newpath/"+dir[i]));
}