6

私はjavascriptプロジェクトをいじっており、ノードビルドスクリプトを使用しています。

いくつかのフォルダーをビルドされたフォルダーに同期します

try {
  fs.statSync('built/imgs');
} catch(err) {
  if (err.code=='ENOENT') fs.symlinkSync('../imgs', 'built/imgs');
  else throw err;
}

ビルドされたフォルダーにファイルの実際のコピーを取得するための対応する fs コマンドは何ですか?

4

1 に答える 1

5

fsオブジェクトには、ディレクトリ全体をコピーする機能はありません。ファイル全体をコピーするものさえありません。

ただし、これは 1 つのファイルをすばやく簡単にコピーする方法です。

var fs = require('fs');

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

あとは、ディレクトリ リストを取得するだけです。fs.readdirそのためにはまたはを使用fs.readdirSyncします。

ディレクトリを別のディレクトリにコピーするには、次のようにします。

var dir = fs.readdirSync('.');
for (var i=0; i < dir.length; i++) {
    fs.createReadStream(dir[i]).pipe(fs.createWriteStream("newpath/"+dir[i]));
}
于 2013-04-18T18:08:56.597 に答える