2013-04-18 37 views
4

我正在玩一個JavaScript項目,它使用了一個節點構建腳本。在node.js構建腳本中複製文件

它通過

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

同步某些文件夾成建文件夾請告訴我相應的FS命令來獲取文件的實際拷貝到內置文件夾?

回答

4

在將複製整個目錄的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])); 
}