一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

gulp加批处理(.bat)实现ng多应用一键自动化构建

时间:2017-04-11 编辑:简简单单 来源:一聚教程网

批处理

常用常见的批处理文件有.bat文件,可用文本编辑器直接编辑内部代码,运行也比较方便,windows平台直接双击执行即可,具体请自行了解。

需求背景

angular项目中,当项目越来越大时,很多通用模块(module)可能需要抽象出来,这是一点,另外可能有某些子应用也会单独抽离出来,这是另一点。

当一个大型项目同时包括多个子应用时,编码后的编译或者打包就会比较麻烦,特别是在项目持续集成的一种状态下,或者项目组有新成员(经验稍微薄弱)情况下。

需要了解

看下面的代码之前,如果您是angular使用者+gulp使用者,为了更好的理解下面的代码,你可能需要了解以下东西:node、npm、node_modules、gulp。

如果您不使用angular或者gulp,也没有太大关系,你可以通过我肤浅的解释来理解一些批处理相关的操作,以应用到其他用途。

示例&&解释

 

 代码如下复制代码

// 关闭回显,加上这句,当前执行的命令不会显示(即,下面这些代码不会显示在屏幕上)

@echo off

 

// 读取run_config.txt文件第一行数据,以参数domain存储,然后跳转到secondArgs命令执行

// 我这么写不可取,跳转secondArgs命令主要用于读取第二行数据

for/f %%iin(run_config.txt)do(

set domain=%%i

goto secondArgs

)

 

// 读取第二行数据以参数dir存储

:secondArgs

for/f %%iin(run_config.txt)do(

set dir=%%i

)

 

// 输出参数domain、dir

echo the root path is:%domain%

echo the project path is:%dir%

 

echo AUTO RUNING, PLEASE ENTER ACCORDING THE TIPS......

 

// begin命令

:begin

echo ************TIPS START************

echo at the first use,please input'm'to set root path and project path according the tips.

echo ************TIPS ENDS!************

 

// 改变字体颜色,可选颜色不多

color 07

// 以命令选择的形式,给使用者选择的权利,其中将各个项目(各应用)需要的打包分离出来,分别对应相应的自动化构建脚本命令

// 以字母RCAPMQ一一对应,例如输入Q,则进入exit命令

choice /m ROOT,COMMONS,APP,PORTAL,MODIFY,EXIT /c:RCAPMQ

 

iferrorlevel 6 goto exit

iferrorlevel 5 goto modify

iferrorlevel 4 goto portal

iferrorlevel 3 goto app

iferrorlevel 2 goto commons

iferrorlevel 1 goto root

 

:root

color 0a

// 用于进入对应的盘符

%domain%

// 用于进入对应的项目目录

cd%dir%

// 执行当前目录下的gulp命令

node %domain%%dir%\node_modules\gulp\bin\gulp.js

echo -----------------------------ROOT PROCESS FINISHED!----------------------------

// 跳转begin命令,可以让使用者进行下一次使用

goto begin

// 以下几个命令类似上面

 

:commons

color 0d

%domain%

cd%dir%\commons

node %domain%%dir%\node_modules\gulp\bin\gulp.js

echo ----------------------------COMMONS PROCESS FINISHED!--------------------------

goto begin

 

:app

color oe

%domain%

cd%dir%\app

node %domain%%dir%\node_modules\gulp\bin\gulp.js debug

echo ---------------------------APP_BASE PROCESS FINISHED!--------------------------

goto begin

 

// 该命令可以进行多个应用的一键构建

:portal

color 0a

%domain%

cd%dir%

node %domain%%dir%\node_modules\gulp\bin\gulp.js

cls

echo -----------------------------ROOT PROCESS FINISHED!----------------------------

echo ***************************COMMONS PROCESS STARTING!***************************

color 0d

%domain%

cd%dir%\commons

node %domain%%dir%\node_modules\gulp\bin\gulp.js

cls

echo ----------------------------COMMONS PROCESS FINISHED!--------------------------

echo ******************************APP PROCESS STARTING*****************************

color 0e

%domain%

cd%dir%\app

node %domain%%dir%\node_modules\gulp\bin\gulp.js debug

cls

echo ------------------------------APP PROCESS FINISHED-----------------------------

echo *******************************************************************************

color 0f

goto begin

 

// modify命令用于修改盘符及项目目录路径

:modify

// 删除config文件

del run_config.txt

// '/p'会暂停当前命令

// 此处主要用于获取用户输入

set /p domain=please input yours root path,endwith':', eg.'d:':

echo the root path is:%domain%

// 输出输入的信息并保存到config文件中

@echo %domain%>>run_config.txt

 

set /p dir=please input yours project path, startwith'/', eg.'/xx/xx':

echo the project path is:%dir%

@echo %dir%>>run_config.txt

goto begin

 

// 关闭当前窗口

:exit

pause

 

心得

弄这个.bat文件,主要也是为了偷懒。花了一点时间查找了相应的操作、使用说明,也算是初步可用。

目前使用起来也比较方便,可以在以后有机会时再次自定义一个类似文件,便捷开发,提高效率。

热门栏目