寫了一個(gè)基于 MacOS + iTerm2 自動(dòng)執(zhí)行化執(zhí)行工具
大家好,我是秋風(fēng),今天要給大家?guī)?lái)的這個(gè)工具是我最近寫的 一個(gè) npm 工具。mmt 是基于 MacOS + iTerm2 ,目的主要是為了提高日常生活中的效率,接下來(lái)我?guī)Т蠹铱纯匆恍┏S玫囊恍﹫?chǎng)景。
場(chǎng)景1:單項(xiàng)目多倉(cāng)庫(kù)
不知道你是否遇到過(guò)這樣的場(chǎng)景,當(dāng)你的項(xiàng)目是擁有前后端兩個(gè)倉(cāng)庫(kù),你總是需要記住多個(gè)命令或者是多個(gè)目錄,而且需要開(kāi)啟多個(gè)終端窗口。例如我開(kāi)發(fā)「木及簡(jiǎn)歷」的時(shí)候,就會(huì)有這樣的困擾,明明是非常重復(fù)的動(dòng)作,每次開(kāi)發(fā)的時(shí)候卻要輸入 路徑 + 啟動(dòng)命令,這些步驟的重復(fù)是完全沒(méi)有必要的。
以上便是我開(kāi)發(fā) mmt 的第一個(gè)場(chǎng)景痛點(diǎn),使用了 mmt 后,你便可以節(jié)約以上瑣碎的流程,下面通過(guò)一個(gè)例子來(lái)說(shuō)明:
你的前端項(xiàng)目路徑:path/case1-front 啟動(dòng)命令: npm run start
你的后端項(xiàng)目路徑: pathcase1-backend 啟動(dòng)命令: npm run dev
使用 mmt 聲明:
> cd path/case1-front
> mmt add case1 start
> cd path/case1-backend
> mmt add case1 dev
在任意命令窗口運(yùn)行
> mmt run case1
效果如下:
行云流水般絲滑,再也不用輸入那些枯燥重復(fù)的命令了。
場(chǎng)景2:多項(xiàng)目多倉(cāng)庫(kù)
當(dāng)你一個(gè)人維護(hù)多個(gè)技術(shù)棧的項(xiàng)目,啟動(dòng)命令總是容易搞混,使用 Vue 項(xiàng)目啟動(dòng)命令可能是 npm run serve, 而使用 React 項(xiàng)目卻是 npm run start, 有些項(xiàng)目還可能是 npm run dev。使用 mmt 可以抹平這種差異,并且你無(wú)須記憶你的工程路徑。
舉個(gè)例子:
你的項(xiàng)目1: projec1-vue, 啟動(dòng)命令 npm run serve
你的項(xiàng)目1: projec2-react, 啟動(dòng)命令 npm run start
使用 mmt 聲明:
> cd path/projec1-vue
> mmt add project1 serve
> cd path/projec2-react
> mmt add project2 start
在任意命令窗口
> mmt run project1
> mmt run project2
效果如下:
場(chǎng)景3:腳本別名
當(dāng)你想要同步運(yùn)行一些流程線的工作,你就可以使用 add-sync 方式,例如我的某個(gè)本地項(xiàng)目需要依賴兩個(gè)容器環(huán)境 e8a47b8aed91 和 e0d433a26388 這個(gè)時(shí)候運(yùn)行 mmt 將會(huì)自動(dòng)執(zhí)行命令。
> mmt add-sync project1-dep "docker restart e8a47b8aed91"
> mmt add-sync project1-dep "docker restart e0d433a26388"
在任意命令窗口,即可啟動(dòng)兩個(gè) docker 實(shí)例
> mmt run project1-dep
為了能夠讓腳本復(fù)用性更上一個(gè)層次,你還可以通過(guò)導(dǎo)出配置,分享給你的朋友。
以上就是 mmt 的基礎(chǔ)介紹,更多功能可以查看 github地址: https://github.com/hua1995116/mmt
如果你覺(jué)得對(duì)你有幫助歡迎提 Star 呀。
工具好用,當(dāng)然也要配上好的域名,特地買了一個(gè)比較符合這個(gè)工具定位的域名 mmt.run