全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

批处理

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

需求背景

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

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

需要了解

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

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

示例&&解释

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

 // 读取run_config.txt文件第一行数据,以参数domain存储,然后跳转到secondArgs命令执行
 // 我这么写不可取,跳转secondArgs命令主要用于读取第二行数据
 for /f %%i in (run_config.txt) do (
 set domain=%%i
 goto secondArgs
 )

 // 读取第二行数据以参数dir存储
 :secondArgs
 for /f %%i in (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

 if errorlevel 6 goto exit
 if errorlevel 5 goto modify
 if errorlevel 4 goto portal
 if errorlevel 3 goto app
 if errorlevel 2 goto commons
 if errorlevel 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,end with ':', eg.'d:':
 echo the root path is:%domain%
 // 输出输入的信息并保存到config文件中
 @echo %domain%>>run_config.txt

 set /p dir=please input yours project path, start with '/', eg. '/xx/xx':
 echo the project path is:%dir%
 @echo %dir%>>run_config.txt
 goto begin

 // 关闭当前窗口
 :exit
 pause

心得

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

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

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# gulp自动化构建  # gulp构建angular项目  # gulp构建前端自动化  # 写了个批量替换字符串的bat批处理(replaceChar.bat)  # C#中执行批处理文件(*.bat)的方法代码  # 批处理文件 (.bat) 的几个技巧分享  # 批处理加密.bat  # 恶意批处理.bat  # sz.reg转换成reg.bat的批处理  # 在当前目录生成很漂亮的结构树的批处理dir.bat  # cnct.batch 批处理不错的东西%cd%  # Windows下使用批处理文件.bat删除旧文件  # 这是  # 多个  # 批处理  # 跳转  # 主要用于  # 行数  # 几个  # 就会  # 是在  # 好了  # 也会  # 你可以  # 您是  # 不多  # 有机会  # 太大  # 能有  # 花了  # 找了  # 自定义 


相关文章: 番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  建站之星导航如何优化提升用户体验?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  建站之星安装提示数据库无法连接如何解决?  如何快速启动建站代理加盟业务?  如何通过多用户协作模板快速搭建高效企业网站?  南宁网站建设制作定制,南宁网站建设可以定制吗?  表情包在线制作网站免费,表情包怎么弄?  建站之星免费版是否永久可用?  广州营销型建站服务商推荐:技术优势与SEO优化解析  音响网站制作视频教程,隆霸音响官方网站?  南京网站制作费用,南京远驱官方网站?  建站之星Pro快速搭建教程:模板选择与功能配置指南  无锡营销型网站制作公司,无锡网选车牌流程?  网站企业制作流程,用什么语言做企业网站比较好?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  常州企业网站制作公司,全国继续教育网怎么登录?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何获取PHP WAP自助建站系统源码?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在云指建站中生成FTP站点?  如何通过西部数码建站助手快速创建专业网站?  建站之星如何助力网站排名飙升?揭秘高效技巧  网站好制作吗知乎,网站开发好学吗?有什么技巧?  官网网站制作腾讯审核要多久,联想路由器newifi官网  广州商城建站系统开发成本与周期如何控制?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何快速上传自定义模板至建站之星?  教学论文网站制作软件有哪些,写论文用什么软件 ?  建站之星如何防范黑客攻击与数据泄露?  如何通过cPanel快速搭建网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  建站之星后台管理如何实现高效配置?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何选择香港主机高效搭建外贸独立站?  制作旅游网站html,怎样注册旅游网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  如何在云主机快速搭建网站站点?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  Bpmn 2.0的XML文件怎么画流程图  建站之星安装路径如何正确选择及配置?  开封网站制作公司,网络用语开封是什么意思?  如何快速搭建二级域名独立网站?  如何在IIS中新建站点并解决端口绑定冲突?  如何选择高性价比服务器搭建个人网站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  c# 在高并发场景下,委托和接口调用的性能对比  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  高防服务器:AI智能防御DDoS攻击与数据安全保障 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。