在 Windows 环境下将 Vue 项目打包并压缩为 .zip 文件的批处理脚本

news2024/12/21 22:56:30

以下是一个 Windows 批处理脚本,完成以下任务:

  1. 运行 npm run build 打包 Vue 项目。
  2. 使用 7-Zip 将生成的 dist 目录压缩成 ZIP 文件。

脚本内容

@echo off

:: 切换命令行编码为 UTF-8
chcp 65001 >nul

:: 设置环境变量
set PROJECT_DIR=C:\path\to\your\vue-project
set OUTPUT_DIR=%PROJECT_DIR%\dist
set ZIP_NAME=dist.zip
set ZIP_OUTPUT=%OUTPUT_DIR%\%ZIP_NAME%
set SEVEN_ZIP_PATH="C:\Programs\7-Zip\7z.exe"

:: 进入项目目录
cd /d %PROJECT_DIR%

:: 检查 7-Zip 是否存在
if not exist %SEVEN_ZIP_PATH% (
    echo [错误] 找不到 7-Zip 程序,请检查路径: %SEVEN_ZIP_PATH%
    pause
    exit /b 1
)

:: 打包项目
echo 正在执行 npm run build...
call npm run build
if %errorlevel% neq 0 (
    echo [错误] npm run build 失败!
    pause
    exit /b 1
)

:: 检查 dist 目录是否生成
if not exist %OUTPUT_DIR% (
    echo [错误] 打包目录 %OUTPUT_DIR% 不存在!
    pause
    exit /b 1
)

:: 压缩 dist 目录
echo 正在压缩 %OUTPUT_DIR% 到 %ZIP_OUTPUT%...
%SEVEN_ZIP_PATH% a -tzip %ZIP_OUTPUT% %OUTPUT_DIR%\*
if %errorlevel% neq 0 (
    echo [错误] 压缩失败!
    pause
    exit /b 1
)

echo 压缩成功!ZIP 文件已生成:%ZIP_OUTPUT%
pause
exit /b 0

配置说明

  1. 设置路径:
    • PROJECT_DIR 替换为你的 Vue 项目根目录路径。
    • ZIP_OUTPUT 替换为你希望保存 ZIP 文件的目标路径。
  2. 7-Zip 路径:
    • 修改 SEVEN_ZIP_PATH 为 7-Zip 的安装路径(如 C:\Program Files\7-Zip\7z.exe)。
      如果未安装 7-Zip,可以从 7-Zip 官网 下载并安装。

使用方法

  1. 将上述脚本保存为 build_and_zip.bat
  2. 双击运行,或者在命令行中执行:
    build_and_zip.bat
    
  3. 脚本执行完成后,生成的压缩包会存放在指定的 ZIP_OUTPUT 路径中。

如果有其他定制化需求,可以进一步调整脚本!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展,公共交通作为城市运营的核心枢纽,正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network,控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术,构建的公交“大脑”…

[c++11(二)]Lambda表达式和Function包装器及bind函数

1.前言 Lambda表达式着重解决的是在某种场景下使用仿函数困难的问题,而function着重解决的是函数指针的问题,它能够将其简单化。 本章重点: 本章将着重讲解lambda表达式的规则和使用场景,以及function的使用场景及bind函数的相关使…

redis数据类型:list

list 的相关命令配合使用的应用场景: 栈和队列:插入和弹出命令的配合,亦可实现栈和队列的功能 实现哪种数据结构,取决于插入和弹出命令的配合,如左插右出或右插左出:这两种种方式实现先进先出的数据结构&a…

基于51单片机的验证码收发系统的仿真设计

一、设计要求 主机、从机均以AT89C52单片机为控制核心。主机生成6位随机验证码、并将验证码发送给从机;从机输入验证码发送给主机,主机接收来自从机发送的验证码并核对两个验证码是否一致。 二、设计内容 主机通过独立按键生成6位随机验证码并发送给从…

WPF实现曲线数据展示【案例:震动数据分析】

wpf实现曲线数据展示,函数曲线展示,实例:震动数据分析为例。 如上图所示,如果你想实现上图中的效果,请详细参考我的内容,创作不易,给个赞吧。 一共有两种方式来实现,一种是使用第三…

[机器学习]AdaBoost(数学原理 + 例子解释 + 代码实战)

AdaBoost AdaBoost(Adaptive Boosting)是一种Boosting算法,它通过迭代地训练弱分类器并将它们组合成一个强分类器来提高分类性能。 AdaBoost算法的特点是它能够自适应地调整样本的权重,使那些被错误分类的样本在后续的训练中得到…

详细解读TISAX认证的意义

详细解读TISAX认证的意义,犹如揭开信息安全领域的一颗璀璨明珠,它不仅代表了企业在信息安全管理方面的卓越成就,更是通往全球汽车供应链信任桥梁的关键一环。TISAX,即“Trusted Information Security Assessment Exchange”&#…

黑马Redis数据结构学习笔记

Redis数据结构 动态字符串 Intset Dict ZipList QuickList SkipList 类似倍增 RedisObject 五种数据类型 String List Set ZSet Hash

sqlilabs靶场二十一关二十五关攻略

第二十一关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第二十二关 跟二十一关一模一样 闭合换成" 第二十三关 第二十三关重新回到get请求,会发现输入单引号报错&#xff0c…

Win10将WindowsTerminal设置默认终端并添加到右键(无法使用微软商店)

由于公司内网限制,无法通过微软商店安装 Windows Terminal,本指南提供手动安装和配置新版 Windows Terminal 的步骤,并添加右键菜单快捷方式。 1. 下载新版终端安装包: 访问 Windows Terminal 的 GitHub 发布页面:https://githu…

从地铁客流讲开来:十二城日常地铁客运量特征

随着城市化进程的加速和人口的不断增长,公共交通系统在现代都市生活中扮演着日益重要的角色。地铁作为高效、环保的城市交通方式,已经成为居民日常出行不可或缺的一部分。本文聚焦于2024年10月28日至12月1日期间,对包括北上广深这四个超一线城…

firefox浏览器如何安装驱动?

firefox的浏览器驱动:https://github.com/mozilla/geckodriver/releases 将geckodriver.exe所在文件路径追加到系统环境变量path的后面

2.2.3 进程通信举例

文章目录 PV操作实现互斥PV操作实现同步高级通信 PV操作实现互斥 PV操作实现互斥。先明确临界资源是什么,然后确定信号量的初值。实现互斥时,一般是执行P操作,进入临界区,出临界区执行V操作。 以统计车流量为例。临界资源是记录统…

UE5 移植Editor或Developer模块到Runtime

要将源码中的非运行时模块移植到Runtime下使用,个人理解就是一个解决编译报错的过程,先将目标模块复制到项目的source目录内,然后修改模块文件夹名称,修改模块.build.cs与文件夹名称保持一致 修改build.cs内的类名 ,每个模块都要修改 // Copyright Epic Games, Inc. All …

Qt WORD/PDF(三)使用 QAxObject 对 Word 替换(QML)

关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF(二…

RAG基础知识及综述学习

RAG基础知识及综述学习 前言1.RAG 模块1.1 检索器(Retriever)1.2 检索融合(Retrieval Fusion)1.3 生成器(Generator) 2.构建检索器(Retriever)2.1 分块语料库2.2 编码文本块2.3 构建…

移动网络(2,3,4,5G)设备TCP通讯调试方法

背景: 当设备是移动网络设备连接云平台的时候,如果服务器没有收到网络数据,移动物联设备发送不知道有没有有丢失数据的时候,需要一个抓取设备出来的数据和服务器下发的数据的方法。 1.服务器系统是很成熟的,一般是linu…

深入剖析MyBatis的架构原理

架构设计 简要画出 MyBatis 的架构图 >> ​​ Mybatis 的功能架构分为哪三层? API 接口层 提供给外部使用的接口 API,开发人员通过这些本地 API 来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。MyBatis 和数据库的…

android opencv导入进行编译

1、直接新建module进行导入,选择opencv的sdk 导入module模式,选择下载好的sdk,修改module name为OpenCV490。 有报错直接解决报错,没报错直接运行成功。 2、解决错误,同步成功 一般报错是gradle版本问题较多。我的报…

智能座舱进阶-应用框架层-Jetpack主要组件

Jetpack的分类 1. DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。 2. Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。 3. LiveData: 在底层数据库更…