0
いくつかのプロセスを自動化してから、いくつかのファイルをzipにしてから、このzipも圧縮する必要があります。私はノードアーカイバを使用していますが、私が書いたコードは動作しません。いくつかのファイルを圧縮してからzipを圧縮するノード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', './'));
});
「動作しません」と定義します。 –
ジップにジップがありますが、2番目のジップ内にファイルを取得できません。 –