Мне нужно автоматизировать некоторые процессы и сначала захватить некоторые файлы в zip, а затем этот почтовый индекс также должен быть заархивирован. Я использую диспетчер узлов, но код, который я написал, не работает.Zip некоторые файлы, а затем zip zip Node js
function zip(name, files, path, callback) {
let output = fs.createWriteStream(name + '.zip'),
archive = archiver('zip', {store: true});
output.on('close',() => {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
archive.on('error', err => {
throw err;
});
archive.pipe(output);
if(files.constructor === Array)
files.forEach((e, i) => {
archive.append(fs.createReadStream(path + e), {name: e});
});
else
archive.append(fs.createReadStream(path + files), {name: files});
archive.finalize();
if(callback) {
callback();
}
}
fs.readFile(widgetPath + widgetFileName + '.manifest', 'utf8', (err, json) => {
let jsonData = JSON.parse(json),
name = jsonData.name;
return zip(name, [fileJS, fileManifest, fileHtml], widgetPath,
zip(name, name + '.zip', './'));
});
Определить, что «не работает». –
Почтовый индекс в zip, но я не могу получить файлы во втором zip-файле. –