gulp加批處理(.bat)實現(xiàn)ng多應用一鍵自動化構建

批處理

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的石景山網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

常用常見的批處理文件有.bat文件,可用文本編輯器直接編輯內部代碼,運行也比較方便,windows平臺直接雙擊執(zhí)行即可,具體請自行了解。

需求背景

angular項目中,當項目越來越大時,很多通用模塊(module)可能需要抽象出來,這是一點,另外可能有某些子應用也會單獨抽離出來,這是另一點。

當一個大型項目同時包括多個子應用時,編碼后的編譯或者打包就會比較麻煩,特別是在項目持續(xù)集成的一種狀態(tài)下,或者項目組有新成員(經驗稍微薄弱)情況下。

需要了解

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

如果您不使用angular或者gulp,也沒有太大關系,你可以通過我膚淺的解釋來理解一些批處理相關的操作,以應用到其他用途。

示例&&解釋

 // 關閉回顯,加上這句,當前執(zhí)行的命令不會顯示(即,下面這些代碼不會顯示在屏幕上)
 @echo off

 // 讀取run_config.txt文件第一行數(shù)據(jù),以參數(shù)domain存儲,然后跳轉到secondArgs命令執(zhí)行
 // 我這么寫不可取,跳轉secondArgs命令主要用于讀取第二行數(shù)據(jù)
 for /f %%i in (run_config.txt) do (
 set domain=%%i
 goto secondArgs
 )

 // 讀取第二行數(shù)據(jù)以參數(shù)dir存儲
 :secondArgs
 for /f %%i in (run_config.txt) do (
 set dir=%%i
 )

 // 輸出參數(shù)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%
 // 執(zhí)行當前目錄下的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文件,主要也是為了偷懶。花了一點時間查找了相應的操作、使用說明,也算是初步可用。

目前使用起來也比較方便,可以在以后有機會時再次自定義一個類似文件,便捷開發(fā),提高效率。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。

網(wǎng)站題目:gulp加批處理(.bat)實現(xiàn)ng多應用一鍵自動化構建
鏈接URL:http://muchs.cn/article28/ipjicp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、商城網(wǎng)站、自適應網(wǎng)站、響應式網(wǎng)站、網(wǎng)站設計、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化