当前位置: 首页 > news >正文

前端打包自动压缩为zip--archiver

安装依赖

pnpm add archiver @types/archiver

/vitePlugins/autoBuildZip.ts

import { Plugin } from 'vite';
import archiver from 'archiver';
import fs from 'fs';const compressFolder = (folderPath: string, outputFilePath: string) => {const output = fs.createWriteStream(`${__dirname}/../${outputFilePath}.zip`);const archive = archiver('zip', {zlib: { level: 9 },});output.on('close', function () {const size = (archive.pointer() / 1024 / 1024).toFixed(2);console.log(`----------------------------------------------------------------                  压缩完成                    ------------ 文件路径:项目根目录:${outputFilePath}.zip     ------------               文件大小${size}M                  ----------------------------------------------------------------`);});archive.on('warning', function (err: { code: string }) {if (err.code === 'ENOENT') {} else {throw err;}});archive.on('error', function (err: any) {throw err;});archive.pipe(output);archive.directory(folderPath, outputFilePath);archive.finalize();
};export default function autoBuildZip(fileName: string): Plugin {return {name: 'vite:autoBuildZip',apply: 'build',enforce: 'post',closeBundle() {compressFolder(fileName, fileName);},};
}

使用

vite.config.ts中引入

// 该插件用于自动打包zip文件
import autoBuildZip from './vitePlugins/autoBuildZip';plugins:[autoBuildZip('dist'),
]
http://www.lryc.cn/news/588833.html

相关文章:

  • SpringBoot 2.x→3.0升级实战:Jakarta EE兼容性改造清单
  • Flink双流实时对账
  • GaussDB 数据库架构师修炼(三) 集群管理概览
  • 数据结构--树(1)
  • 同样是“跳转”,为何forward地址栏不变,redirect会变?
  • 20250715给荣品RD-RK3588开发板刷Android14时打开USB鼠标
  • MATLAB知识点总结
  • 物联网设备管理工具实战:用AR运维镜击穿6.8天修复魔咒
  • 构建企业级项目管理全面数字化运营体系︱易趋(蓝云软件)总裁唐智勇
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、现在我们来学习一下C++类模板、记事本的行高亮的操作的讲解)
  • 【PDF识别改名】使用京东云OCR完成PDF图片识别改名,根据PDF图片内容批量改名详细步骤和解决方案
  • pytorch学习笔记(四)-- TorchVision 物体检测微调教程
  • sundog公司的SilverLining SDK库实现3d动态云层和下雨、下雨、雨夹雪效果
  • 终端安全管理系统为什么需要使用,企业需要的桌面管理软件
  • Java 异常处理详解:从基础语法到最佳实践,打造健壮的 Java 应用
  • Spring Boot目录变文件夹?3步解决!
  • AI大模型训练的云原生实践:如何用Kubernetes指挥千卡集群?
  • ETAS 总线接口 ES582.2
  • Bootstrap-HTML(七)Bootstrap在线图标的引用方法
  • 算法学习笔记:23.贪心算法之活动选择问题 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • html语法
  • C++题解(37) 信息学奥赛一本通1318:【例5.3】自然数的拆分
  • 测试tcpdump,分析tcp协议
  • 服务器端安全检测与防御技术概述
  • 力扣25.7.15每日一题——有效单词
  • 微信小程序入门实例_____从零开始 开发一个每天记账的微信小程序
  • 深入理解C++11 std::iota:从原理到实践
  • 深度学习·目标检测和语义分割基础
  • 【PTA数据结构 | C语言版】根据前序序列重构二叉树
  • Docker安装升级redis,并设置持久化