今天是第三篇,給你們介紹一個 Semo 新出爐的插件: semo-plugin-chalk,相信用 Node 寫過命令行工具的人確定用過 chalk
這個包,並且這個包也有相關的命令行工具版本 chalk-cli
,我寫這個插件的目的一個是方便本身使用,還有一個就是繼續向你們展現 Semo
插件開發技巧。node
咱們在寫 Shell 腳本的時候有時須要向外輸出一些信息,默認 Shell 的 echo
只能輸出默認色調的字符串,而終端的顏色語法可讀性不是很好,運維工程師能夠用這樣的插件提供各類顏色的終端輸出。npm
PS: 這裏固然有不少種解決方案,這裏僅僅是 Semo 給你們提供的解決方案。bash
首先,固然是須要你們安裝 Semo
,推薦全局安裝。運維
npm i -g @semo/cli
複製代碼
若是不安裝,經過 npx @semo/cli 來調用後面的命令也是能夠的,固然這種是不推薦的。工具
插件也推薦全局安裝,由於這不屬於業務依賴post
npm i -g semo-plugin-chalk
複製代碼
固然,受益於 semo run
命令提供的機制,這裏也能夠不手動安裝插件,而是使用 semo run chalk
來調用。本文仍然假設你們安裝了插件,這樣命令更短一些。性能
有時候咱們記不住什麼關鍵字表明什麼顏色,經過 --demo
參數能夠看到,效果已經在頭圖中展現。優化
semo chalk --demo
複製代碼
semo chalk hello
複製代碼
semo chalk hello blue
複製代碼
semo chalk hello blue.underline.bold.italic.inverse
複製代碼
chalk
的標籤模板語法semo chalk '{red hello} {blue world}' -t
複製代碼
-t
或 --template
參數代表開啓模板解析,不然默認是直接輸出。spa
以上命令的效果以下:插件
以上就是這個 Semo
插件的用法,這個插件開發過程一共就花了不到一個小時,由於首先核心特性都是 chalk
提供的,其次,Semo 提供了 插件開發的模板,好比,我是這樣起步的:
semo create semo-plugin-chalk --template=plugin
複製代碼
因此,這裏主要仍是向你們展現通過不斷優化後,Semo
這個項目的一點點能力,同時,這個項目有一些性能問題,還須要你們給予指點。
假設你們環境裏只安裝了 node, npm, npx 這樣的基本命令,仍然能夠一行命令執行本文中的命令,示例:
npx @semo/cli run chalk -- hello blue.underline.bold.italic.inverse
複製代碼
慢不慢且不說,it works :)