Semo 系列文章之三:插件 semo-plugin-chalk

以前已经写了2篇 Semo 相关的文章,给你们展现了 Semo 部分的能力,分别是:

今天是第三篇,给你们介绍一个 Semo 新出炉的插件: semo-plugin-chalk,相信用 Node 写过命令行工具的人确定用过 chalk 这个包,并且这个包也有相关的命令行工具版本 chalk-cli,我写这个插件的目的一个是方便本身使用,还有一个就是继续向你们展现 Semo 插件开发技巧。node

功能描述

咱们在写 Shell 脚本的时候有时须要向外输出一些信息,默认 Shell 的 echo 只能输出默认色调的字符串,而终端的颜色语法可读性不是很好,运维工程师能够用这样的插件提供各类颜色的终端输出。npm

PS: 这里固然有不少种解决方案,这里仅仅是 Semo 给你们提供的解决方案。bash

安装 Semo

首先,固然是须要你们安装 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 :)

交流群

相关文章
相关标签/搜索