您好,登錄后才能下訂單哦!
批處理
常用常見的批處理文件有.bat文件,可用文本編輯器直接編輯內(nèi)部代碼,運(yùn)行也比較方便,windows平臺(tái)直接雙擊執(zhí)行即可,具體請(qǐng)自行了解。
需求背景
angular項(xiàng)目中,當(dāng)項(xiàng)目越來(lái)越大時(shí),很多通用模塊(module)可能需要抽象出來(lái),這是一點(diǎn),另外可能有某些子應(yīng)用也會(huì)單獨(dú)抽離出來(lái),這是另一點(diǎn)。
當(dāng)一個(gè)大型項(xiàng)目同時(shí)包括多個(gè)子應(yīng)用時(shí),編碼后的編譯或者打包就會(huì)比較麻煩,特別是在項(xiàng)目持續(xù)集成的一種狀態(tài)下,或者項(xiàng)目組有新成員(經(jīng)驗(yàn)稍微薄弱)情況下。
需要了解
看下面的代碼之前,如果您是angular使用者+gulp使用者,為了更好的理解下面的代碼,你可能需要了解以下東西:node、npm、node_modules、gulp。
如果您不使用angular或者gulp,也沒有太大關(guān)系,你可以通過我膚淺的解釋來(lái)理解一些批處理相關(guān)的操作,以應(yīng)用到其他用途。
示例&&解釋
// 關(guān)閉回顯,加上這句,當(dāng)前執(zhí)行的命令不會(huì)顯示(即,下面這些代碼不會(huì)顯示在屏幕上) @echo off // 讀取run_config.txt文件第一行數(shù)據(jù),以參數(shù)domain存儲(chǔ),然后跳轉(zhuǎn)到secondArgs命令執(zhí)行 // 我這么寫不可取,跳轉(zhuǎn)secondArgs命令主要用于讀取第二行數(shù)據(jù) for /f %%i in (run_config.txt) do ( set domain=%%i goto secondArgs ) // 讀取第二行數(shù)據(jù)以參數(shù)dir存儲(chǔ) :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 // 以命令選擇的形式,給使用者選擇的權(quán)利,其中將各個(gè)項(xiàng)目(各應(yīng)用)需要的打包分離出來(lái),分別對(duì)應(yīng)相應(yīng)的自動(dòng)化構(gòu)建腳本命令 // 以字母RCAPMQ一一對(duì)應(yīng),例如輸入Q,則進(jìn)入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 // 用于進(jìn)入對(duì)應(yīng)的盤符 %domain% // 用于進(jìn)入對(duì)應(yīng)的項(xiàng)目目錄 cd%dir% // 執(zhí)行當(dāng)前目錄下的gulp命令 node %domain%%dir%\node_modules\gulp\bin\gulp.js echo -----------------------------ROOT PROCESS FINISHED!---------------------------- // 跳轉(zhuǎn)begin命令,可以讓使用者進(jìn)行下一次使用 goto begin // 以下幾個(gè)命令類似上面 :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 // 該命令可以進(jìn)行多個(gè)應(yīng)用的一鍵構(gòu)建 :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命令用于修改盤符及項(xiàng)目目錄路徑 :modify // 刪除config文件 del run_config.txt // '/p'會(huì)暫停當(dāng)前命令 // 此處主要用于獲取用戶輸入 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 // 關(guān)閉當(dāng)前窗口 :exit pause
心得
弄這個(gè).bat文件,主要也是為了偷懶?;艘稽c(diǎn)時(shí)間查找了相應(yīng)的操作、使用說明,也算是初步可用。
目前使用起來(lái)也比較方便,可以在以后有機(jī)會(huì)時(shí)再次自定義一個(gè)類似文件,便捷開發(fā),提高效率。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。