- 安裝依賴
npm install archiver --save-dev
- 準備compress.js文件
const fs = require('fs');
const archiver = require('archiver');const sourceDir = './dist'; //替換為你的文件夾路徑
const outputZip = './dist.zip';console.log(`開始壓縮`);
const output = fs.createWriteStream(outputZip);
const archive = archiver('zip', { zlib: { level: 9 } });output.on('close', () => {console.log(`壓縮完成: ${archive.pointer()} 字節`);
});archive.pipe(output);
archive.directory(sourceDir, true);//true則保留頂級目錄,false則不保留
archive.finalize();
- 在package.json中調用compress.js
在build命令后面,添加并執行一個postbuild命令。
"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","postbuild": "node compress.js"},
于是,當運行npm run build
后,會先生成打包文件夾,再基于該文件夾生成zip壓縮包。