vue webpack压缩代码_vue-webpack项目自动打包压缩成zip文件批处理

为什么需要这个?

使用vue框架开发项目,npm run build这个命令会一直用到,如果需要给后端发包,那你还要打包成zip格式的压缩包,特别是项目提测的时候,一天可能要执行重复好几次,所以才有了写这个批处理的冲动。

虽然说以前没写过,但至少用过。找了份批处理命令的文章了解了下,按自己预先想好的思路,百度了关键的执行命令,然后就自己不断的修改调试,最终完成了这个集webpack打包、压缩成zip格式文件、打开当前文件夹这三个功能的批处理。

怎么用?

只需要把这个批处理文件放在项目根目录下,轻松一点,等命令自行运行完毕打开文件夹,就可以直接复制打包后的压缩包给后端人员了。

完整代码:

title 项目自动打包压缩批处理工具cls

@echo off

echo┌────────────────────────────────────┐echo.

echo vue+webpack 项目自动打包压缩批处理工具echo.

echo author:cuichunhua@qq.comecho.

echo功能说明:echo.

echo 1.vue+webpack项目自动打包echo.

echo 2.打包完成之后会自动压缩为zip文件,自定义名称echo.

echo 3.压缩完成,在资源管理器中自动打开当前文件夹echo.

echo└────────────────────────────────────┘echo.

rem1. vue项目打包

echo即将进行打包处理,请稍后。。。echo.

call npm runbuildrem返回代码为>=1就跳至标题1处执行压缩,>=0就跳至标题exit处执行终止

IF ERRORLEVEL 1 (

echo项目打包出错了,快去看看怎么回事吧!!!echo.

goto exit

)

IF ERRORLEVEL 0 (

echo打包完成,自动压缩中。。。echo.

gotozip)

rem2. 自动压缩成zip文件,并以code_yyMMddhhmmss格式

:zip

echo开始压缩文件。。。echo.

cd /d distrem打包成zip格式文件就需要WinRAR.exe,不然会报"未知选项:afzip"

set rar=%ProgramFiles%\WinRAR\WinRAR.exeset name=code_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%(echostaticecho index.html)>R.lst"%rar%" a -afzip "%name%.zip" -ep1 -rr -av -ao -m5 @R.lst -ibck -xR.lstdel R.lstgoto 2

rem3. 自动打开当前文件夹

:2

echo压缩完成,自动打开当前文件夹。。。echo.explorer %cd%goto exit

rem4. 终止命令继续执行

:exit

pause

代码说明:

这个批处理主要有三个处理过程:

1. vue项目打包;

1)使用call来执行npm run build,这样打包处理之后就不会自动退出命令行窗口,后续命令才能执行,切记切记。

2)处理结果处理:

IF ERRORLEVEL 1 (

echo项目打包出错了,快去看看怎么回事吧!!!echo.

goto exit

)

IF ERRORLEVEL 0 (

echo打包完成,自动压缩中。。。echo.

gotozip)

去除多余代码,上边代码可以精简为:

IF ERRORLEVEL 1 goto exit

IF ERRORLEVEL 0 goto zip

这段代码的意思是:如果上一步命令执行失败,则执行exit命令块,成功则执行zip命令块。

其中:

ERRORLEVEL 为上一个命令执行结果,成功返回0,失败默认返回1;

IF ERRORLEVEL 1  的意思是 如果 ERRORLEVEL>= 1,所以判断失败的命令要放在判断成功的命令之前,不可颠倒,切记!

exit、zip可以理解为命令块,类似js中的函数代码块,这个命令块是以:开头定义的,如 :exit ,这就是一个简单的命令块;

rem4. 终止命令继续执行

:exit

pause

2. 压缩成zip文件;

这里的关键代码如下:

cd /d dist

set rar=%ProgramFiles%\WinRAR\WinRAR.exeset name=code_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%(echostaticecho index.html)>R.lst"%rar%" a -afzip "%name%.zip" -ep1 -rr -av -ao -m5 @R.lst -ibck -xR.lstdel 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的截取字符串辅助理解;

下面这行是指定导报目录或文件:

(echostatic echo index.html)>R.lst

-afzip  是压缩成zip格式文件(配合rar变量要指向WinRAR.exe才生效)

"%name%.zip"  以变量name命名的

3. 打开当前文件夹(dist)

explorer %cd%  在资源管理器中打开当前文件夹,方便将压缩后的打包文件发送给其他开发人员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值