- 安装依赖
bash
npm install archiver --save-dev
- 准备compress.js文件
javascript
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命令。
javascript
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"postbuild": "node compress.js"
},
于是,当运行npm run build
后,会先生成打包文件夹,再基于该文件夹生成zip压缩包。