gulp加批处理(.bat)实现ng多应用一键自动化构建
发布时间 - 2026-01-10 23:06:04 点击率:次批处理

常用常见的批处理文件有.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删除旧文件
# 这是
# 多个
# 批处理
# 跳转
# 主要用于
# 行数
# 几个
# 就会
# 是在
# 好了
# 也会
# 你可以
# 您是
# 不多
# 有机会
# 太大
# 能有
# 花了
# 找了
# 自定义
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何实现javascript表单验证_正则表达式有哪些实用技巧
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
如何批量查询域名的建站时间记录?
Python面向对象测试方法_mock解析【教程】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何在七牛云存储上搭建网站并设置自定义域名?
Python正则表达式进阶教程_复杂匹配与分组替换解析
Android滚轮选择时间控件使用详解
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
PHP 500报错的快速解决方法
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何用景安虚拟主机手机版绑定域名建站?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
实现点击下箭头变上箭头来回切换的两种方法【推荐】
制作电商网页,电商供应链怎么做?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
如何确保FTP站点访问权限与数据传输安全?
如何快速上传自定义模板至建站之星?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
微信小程序 HTTPS报错整理常见问题及解决方案
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
智能起名网站制作软件有哪些,制作logo的软件?
如何彻底删除建站之星生成的Banner?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Java类加载基本过程详细介绍
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何生成腾讯云建站专用兑换码?
用yum安装MySQLdb模块的步骤方法
Laravel如何升级到最新版本?(升级指南和步骤)
Linux后台任务运行方法_nohup与&使用技巧【技巧】
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Android自定义控件实现温度旋转按钮效果
图册素材网站设计制作软件,图册的导出方式有几种?
node.js报错:Cannot find module 'ejs'的解决办法
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
高性能网站服务器部署指南:稳定运行与安全配置优化方案
微信小程序制作网站有哪些,微信小程序需要做网站吗?

