命令行终端-美化-picocolors

我们在开发项目或者开发node cli 工具,希望我们的终端输出友好的日志提示,带有颜色,背景等等

今天推荐一个美化终端输出的js 库 picocolors


github 地址-picocolors

vite也在用哟~

特点

  • 无依赖
  • chalk 库 小14倍 , 快 2倍
  • PostCSS、SVGO、Stylelint 和 Browserslist 等流行工具都在使用
  • 支持 node 6+ 和浏览器, 支持 CJS 和ESM 项目
  • 自带TypeScript 类型声明。
  • NO_COLOR 友好。

安装

shell 复制代码
npm i picocolors

pnpm add picocolors

快速上手

js 复制代码
import pc from "picocolors"

console.log(
  pc.green(`How are ${pc.italic(`you`)} doing?`)
)

Picocolors 提供了一个对象,其中包括各种文本着色和格式设置功能

文字颜色

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • gray
js 复制代码
console.log(`I see a ${pc.red("red door")} and I want it painted ${pc.black("black")}`)

背景颜色

  • bgBlack
  • bgRed
  • bgGreen
  • bgYellow
  • bgBlue
  • bgMagenta
  • bgCyan
  • bgWhite
js 复制代码
console.log(
  pc.bgBlack(
    pc.white(`Tom appeared on the sidewalk with a bucket of whitewash and a long-handled brush.`)
  )
)

其他

除了设置背景颜色和文字颜色,还可以设置其他效果

dim, bold, hidden, italic, underline, strikethrough, reset, inverse

实用的工具函数

  • isColorSupported 返回 boolean , 当前环境,是否支持使用 颜色编码和格式
js 复制代码
import pc from "picocolors"

if (pc.isColorSupported) {
  console.log("Yay! This script can use colors and formatters")
}
  • createColors(enabled) 返回具有手动定义颜色支持配置的新 API 对象的函数
js 复制代码
import pc from "picocolors"

let { red, bgWhite } = pc.createColors(options.enableColors)

使用 picocolors 替代 chalk

  1. 第一步, 替换导入的包
js 复制代码
- import chalk from 'chalk'
+ import pico from 'picocolors'
  1. 第二步,替换使用
js 复制代码
- chalk.red(text)
+ pico.red(text)
  1. 如果存在链式调用,则替换为 嵌套的写法
js 复制代码
- chalk.red.bold(text)
+ pico.red(pico.bold(text))
  1. 可以使用 colorize-template 来替换 chalk 的标记模板文字

这个一般使用的比较少

js 复制代码
+ import { createColorize } from 'colorize-template'

+ let colorize = createColorize(pico)
- chalk.red.bold`full {yellow ${"text"}}`
+ colorize`{red.bold full {yellow ${"text"}}}`

另外, chalk 地址: 传送门

相关推荐
会蹦的鱼3 分钟前
React学习day07-ReactRouter-抽象路由模块、路由导航、路由导航传参、嵌套路由、默认二级路由的设置、两种路由模式
javascript·学习·react.js
DT——4 小时前
Vite项目中eslint的简单配置
前端·javascript·代码规范
学习ing小白7 小时前
JavaWeb - 5 - 前端工程化
前端·elementui·vue
真的很上进7 小时前
【Git必看系列】—— Git巨好用的神器之git stash篇
java·前端·javascript·数据结构·git·react.js
胖虎哥er7 小时前
Html&Css 基础总结(基础好了才是最能打的)三
前端·css·html
qq_278063717 小时前
css scrollbar-width: none 隐藏默认滚动条
开发语言·前端·javascript
.ccl7 小时前
web开发 之 HTML、CSS、JavaScript、以及JavaScript的高级框架Vue(学习版2)
前端·javascript·vue.js
小徐不会写代码7 小时前
vue 实现tab菜单切换
前端·javascript·vue.js
林太白8 小时前
❤Node09-用户信息token认证
数据库·后端·mysql·node.js
2301_765347548 小时前
Vue3 Day7-全局组件、指令以及pinia
前端·javascript·vue.js