今天是第三篇,给你们介绍一个 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 :)