当您知道它们的路径时,是否可以归档多个目录?比方说:['/dir1','dir2', .., 'dirX']
。我现在正在做的是将目录复制到一个目录中,比方说:/dirToZip
并执行以下操作:
var archive = archiver.create('zip', {});
archive.on('error', function(err){
throw err;
});
archive.directory('/dirToZip','').finalize();
是否有一种方法可以将目录附加到存档中,而不是使用批量所需的特定模式?提前致谢!
最佳答案
您可以使用 bulk(mappings)
.尝试:
var output = fs.createWriteStream(__dirname + '/bulk-output.zip');
var archive = archiver('zip');
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
archive.on('error', function(err) {
throw err;
});
archive.pipe(output);
archive.bulk([
{ expand: true, cwd: 'views/', src: ['*'] },
{ expand: true, cwd: 'uploads/', src: ['*'] }
]);
archive.finalize();
已更新
或者你可以做得更简单:
var output = fs.createWriteStream(__dirname + '/bulk-output.zip');
var archive = archiver('zip');
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
archive.on('error', function(err) {
throw err;
});
archive.pipe(output);
archive.directory('views', true, { date: new Date() });
archive.directory('uploads', true, { date: new Date() });
archive.finalize();
关于node.js - node-archiver:归档多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34335326/