控制台文本样式库Chalk.js安装及使用实例

 更新时间:2026年04月13日 10:15:59   作者:fundoit  
这篇文章主要介绍了控制台文本样式库Chalk.js安装及使用的相关资料,Chalk.js支持多种颜色和样式,包括基本颜色、背景颜色、加粗、下划线等多种修饰符,并且可以通过链式调用组合使用这些样式,需要的朋友可以参考下

介绍

Chalk 是一个流行的 Node.js 库,用于为终端文本输出添加颜色和样式,提升命令行应用的可读性和用户体验。它通过简单的 API 封装了复杂的 ANSI 转义码,使开发者无需记忆晦涩代码即可实现彩色输出。‌

比如下面是一组标识颜色的ANSI 转义码字符,可以在控制台中为文本的输出着色:

console.log('\x1b[33m%s\x1b[0m', 'Hello,I am Rady!');

通过chalk封装的函数,我们就不用自己编写复杂的转义序列字符,轻松在命令行终端输出各种样式的字体。

安装

npm install chalk
npm i chalk --save-dev
#pnpm add -D chalk
pnpm add --save-dev chalk

使用教程

引入chalk.js

import chalk from 'chalk'; 
// 或者
const chalk = require("chalk"); // 从 Chalk 5.0 版本开始,不再支持 CommonJS 的 require 方式引入

API用法

• 字体颜色: chalk.red, chalk.green, chalk.blue 等。

• 背景颜色:在颜色名前加上 bg,如 chalk.bgRed 。

• 链式调用:可以将多个样式方法链接在一起,如 chalk.blue.bold.underline 。

• 多参数输出: console.log(chalk.blue(‘Hello’), ‘World!’, ‘Foo’, ‘bar’, ‘biz’, ‘baz’); 。

• 嵌套样式:可以在一个字符串中嵌套不同的样式,如 chalk.red(‘Hello’, chalk.underline.bgBlue(‘world’) + ‘!’) 。

注意事项

• 从 Chalk 5.0 版本开始,不再支持 CommonJS 的 require 方式引入,而是只支持 ES Modules 的 import 方式。如果需要在 Node.js 中使用,可以考虑使用 Chalk 4.x 版本。

• 某些样式可能在所有终端中并不都有效,如 underline 和 bold 在 Git Bash 上可能不被支 持。

• 若要在项目中使用 Chalk.js ,需要确保终端支持 ANSI 颜色编码。大多数现代终端都支持。

示例

示例1

// simple.js
import chalk from 'chalk';
console.log(chalk.blue("蓝色字体"));
const name = 'Sindre';
console.log(chalk.green('Hello %s'), name);
const error = chalk.bold.red;
const warning = chalk.hex('#FFA500'); // Orange color
console.log(error('Error!'));
console.log(warning('Warning!'));
console.log(chalk.blue('an old falcon'));
//console.log(chalk.keyword('steelblue')('an old falcon'));
//console.log(chalk.keyword('khaki').bold('an old falcon'));
//链式调用
console.log(chalk.red.bgYellow.bold('Error!'));

运行node simple.js,效果如下:

示例2

// simple.js
import chalk from 'chalk';
const log = console.log;
// Combine styled and normal strings
log(chalk.blue('Hello') + ' World' + chalk.red('!'));
// Compose multiple styles using the chainable API
log(chalk.blue.bgRed.bold('Hello world!'));
// Pass in multiple arguments
log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));
// Nest styles
log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!'));
// Nest styles of the same type even (color, underline, background)
log(chalk.green(
	'I am a green line ' +
	chalk.blue.underline.bold('with a blue substring') +
	' that becomes green again!'
));
// ES2015 template literal
log(`
CPU: ${chalk.red('90%')}
RAM: ${chalk.green('40%')}
DISK: ${chalk.yellow('70%')}
`);
// Use RGB colors in terminal emulators that support it.
log(chalk.rgb(123, 45, 67).underline('Underlined reddish color'));
log(chalk.hex('#DEADED').bold('Bold gray!'));

相关链接

https://www.npmjs.com/package/chalk

https://github.com/chalk/chalk

到此这篇关于控制台文本样式库Chalk.js安装及使用的文章就介绍到这了,更多相关控制台文本样式库Chalk.js内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nodejs Express4.x开发框架随手笔记

    Nodejs Express4.x开发框架随手笔记

    Express: ?web application framework for?Node.js?Express 是一个简洁、灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用,本篇文章给大家介绍nodejs express4.x开发框架随手笔记,感兴趣的朋友一起学习吧
    2015-11-11
  • node中的session的具体使用

    node中的session的具体使用

    这篇文章主要介绍了node中的session的具体使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 基于 Node 实现简易 serve静态资源服务器的示例详解

    基于 Node 实现简易 serve静态资源服务器的示例详解

    静态资源服务器(HTTP 服务器)可以将静态文件(如 js、css、图片)等通过 HTTP 协议展现给客户端。本文介绍如何基于 Node 实现一个简易的静态资源服务器,感兴趣的朋友一起看看吧
    2022-06-06
  • 解决node终端下运行js文件不支持ES6语法

    解决node终端下运行js文件不支持ES6语法

    这篇文章主要介绍了解决node终端下运行js文件不支持ES6语法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • vscode+nodejs+express搭建一个简单网站(附详细图文教程)

    vscode+nodejs+express搭建一个简单网站(附详细图文教程)

    作为前端开发,Nodejs已经成了很多公司对我们这一岗位的硬性要求,而Express框架则是其中知名度最高、也是最受欢迎的Nodejs开发框架,这篇文章主要介绍了vscode+nodejs+express搭建一个简单网站的相关资料,需要的朋友可以参考下
    2026-01-01
  • 浅谈Node.js爬虫之网页请求模块

    浅谈Node.js爬虫之网页请求模块

    本篇文章主要介绍了浅谈Node.js爬虫之网页请求模块,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Node.js的模块化机制和Buffer对象详解

    Node.js的模块化机制和Buffer对象详解

    这篇文章主要为大家详细介绍了Node.js的模块化机制和Buffer对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • nodejs使用socket5进行代理请求的实现

    nodejs使用socket5进行代理请求的实现

    这篇文章主要介绍了nodejs使用socket5进行代理请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Node.js crypto模块的实现示例

    Node.js crypto模块的实现示例

    Node.js的crypto模块是内置的核心模块,基于OpenSSL库构建,提供加密、解密、哈希、签名等安全功能,涵盖哈希、对称/非对称加密、签名等场景,具有一定的参考价值,感兴趣的可以了解一下
    2025-07-07
  • 用node.js写一个jenkins发版脚本

    用node.js写一个jenkins发版脚本

    这篇文章主要介绍了用node.js写一个jenkins发版脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论