npm run build后将打包文件夹生成zip压缩包

  1. 安装依赖
bash 复制代码
npm install archiver --save-dev
  1. 准备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();
  1. 在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压缩包。

相关推荐
pe7er9 小时前
window管理开发环境篇 - 持续更新
前端·后端
We་ct10 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
陈随易14 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星14 小时前
javascript之事件代理/事件委托
前端
陈随易15 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢17 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒18 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen18 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真18 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal18 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库