vue-webpack项目自动打包压缩成zip文件批处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vue-webpack项目自动打包压缩成zip文件批处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2652字,纯文字阅读大概需要4分钟。
内容图文
为什么需要这个?
使用vue框架开发项目,npm run build这个命令会一直用到,如果需要给后端发包,那你还要打包成zip格式的压缩包,特别是项目提测的时候,一天可能要执行重复好几次,所以才有了写这个批处理的冲动。
虽然说以前没写过,但至少用过。找了份批处理命令的文章了解了下,按自己预先想好的思路,百度了关键的执行命令,然后就自己不断的修改调试,最终完成了这个集webpack打包、压缩成zip格式文件、打开当前文件夹这三个功能的批处理。
怎么用?
只需要把这个批处理文件放在项目根目录下,轻松一点,等命令自行运行完毕打开文件夹,就可以直接复制打包后的压缩包给后端人员了。
完整代码:
title 项目自动打包压缩批处理工具 cls @echo off echo ┌────────────────────────────────────┐ echo. echo vue+webpack 项目自动打包压缩批处理工具 echo. echo author:cuichunhua@qq.com echo. echo 功能说明: echo. echo 1.vue+webpack项目自动打包 echo. echo 2.打包完成之后会自动压缩为zip文件,自定义名称 echo. echo 3.压缩完成,在资源管理器中自动打开当前文件夹 echo. echo └────────────────────────────────────┘ echo. rem 1. vue项目打包echo 即将进行打包处理,请稍后。。。 echo. call npm run build rem 返回代码为>=1就跳至标题1处执行压缩,>=0就跳至标题exit处执行终止IFERRORLEVEL 1 ( echo 项目打包出错了,快去看看怎么回事吧!!! echo. gotoexit ) IFERRORLEVEL 0 ( echo 打包完成,自动压缩中。。。 echo. goto zip ) rem 2. 自动压缩成zip文件,并以code_yyMMddhhmmss格式:zipecho 开始压缩文件。。。 echo. cd /d dist rem 打包成zip格式文件就需要WinRAR.exe,不然会报"未知选项:afzip"set rar=%ProgramFiles%\WinRAR\WinRAR.exe set name=code_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% (echo static echo index.html)>R.lst "%rar%" a -afzip "%name%.zip" -ep1 -rr -av -ao -m5 @R.lst -ibck -xR.lst del R.lst goto 2 rem 3. 自动打开当前文件夹 :2 echo 压缩完成,自动打开当前文件夹。。。 echo. explorer %cd% gotoexitrem 4. 终止命令继续执行:exitpause
代码说明:
这个批处理主要有三个处理过程:
1. vue项目打包;
1)使用call来执行npm run build,这样打包处理之后就不会自动退出命令行窗口,后续命令才能执行,切记切记。
2)处理结果处理:
IF ERRORLEVEL 1 ( echo 项目打包出错了,快去看看怎么回事吧!!! echo. gotoexit ) IFERRORLEVEL 0 ( echo 打包完成,自动压缩中。。。 echo. goto zip )
去除多余代码,上边代码可以精简为:
IF ERRORLEVEL 1 goto exit
IF ERRORLEVEL 0 goto zip
这段代码的意思是:如果上一步命令执行失败,则执行exit命令块,成功则执行zip命令块。
其中:
- ERRORLEVEL 为上一个命令执行结果,成功返回0,失败默认返回1;
- IF ERRORLEVEL 1 的意思是 如果 ERRORLEVEL >= 1,所以判断失败的命令要放在判断成功的命令之前,不可颠倒,切记!
- exit、zip可以理解为命令块,类似js中的函数代码块,这个命令块是以:开头定义的,如 :exit ,这就是一个简单的命令块;
rem 4. 终止命令继续执行 :exit pause
2. 压缩成zip文件;
这里的关键代码如下:
cd /d dist
set rar=%ProgramFiles%\WinRAR\WinRAR.exe set name=code_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% (echo static echo index.html)>R.lst "%rar%" a -afzip "%name%.zip" -ep1 -rr -av -ao -m5 @R.lst -ibck -xR.lst del R.lst
其中:
- set rar=%ProgramFiles%\WinRAR\WinRAR.exe 很明显,这行代码是定义压缩程序变量;
- set name=code_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% 这一行是定义压缩文件名称,默认code_yyyyMMddhhmmss格式,可以根据需要自行修改,%date:~0,4%为截取本机日期的年份,%time:~0,2%为截取本机时间的小时,记住写法,可以用js的截取字符串辅助理解;
- 下面这行是指定导报目录或文件:
- (echo static echo index.html)>R.lst
- -afzip 是压缩成zip格式文件(配合rar变量要指向WinRAR.exe才生效)
- "%name%.zip" 以变量name命名的
3. 打开当前文件夹(dist)
explorer %cd% 在资源管理器中打开当前文件夹,方便将压缩后的打包文件发送给其他开发人员
原文:https://www.cnblogs.com/xyyt/p/9238885.html
内容总结
以上是互联网集市为您收集整理的vue-webpack项目自动打包压缩成zip文件批处理全部内容,希望文章能够帮你解决vue-webpack项目自动打包压缩成zip文件批处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。