ora 使用教程

这篇博客介绍了Node.js库ora的使用方法,包括安装、配置和各种API选项,如更改颜色、文本、旋转图形等。它还涵盖了如何在异步操作中使用ora来创建命令行加载指示器,以及解决可能的暂停问题。此外,还提供了实例方法和一些实用技巧,如修改文本颜色和管理光标隐藏。
摘要由CSDN通过智能技术生成

安装

$ npm install ora

使用

const ora = require('ora');

const spinner = ora('Loading unicorns').start();

setTimeout(() => {
	spinner.color = 'yellow';
	spinner.text = 'Loading rainbows';
}, 1000);

API

ora(text)

ora(options)

如果传入字符串,等价于 options.text.

 

options Type: object

text Type: string  在转圈图后面显示的文字.

prefixText  Type: string | () => string

文本或者一个返回文本的函数,改文本用在旋转图形之前。

spinner 

Type: string | object  默认: 'dots' 

可填写值看provided spinners . 如果你想看不同spinner有什么一样,看本仓库中的 example.js . 在Windows上, 它表现为 line spinner,因为 Windows 命令行不支持 Unicode.

或者如下对象:

{
	interval: 80, // Optional
	frames: ['-', '+', '-']
}

color

Type: string
默认值: 'cyan'
值: 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray'

spinner 的颜色.

hideCursor

Type: boolean
Default: true

设置成 false 阻止 Ora 隐藏光标.

indent

Type: number
默认值: 0

缩进多少个空格

interval

Type: number
默认值: 100

每一帧的间隔.

Spinners 提供了推荐的间隔, 一般无需指定.

stream

Type: stream.Writable
默认: process.stderr

输出流.

你可以设置成 process.stdout .

isEnabled

Type: boolean

强制开启或关闭spinner. 如果没指定, 流进来的时候,默认会开启.

注意{isEnabled: false}并不是不输出任何东西. 只是不输出图像, 颜色,和其他 ansi 转义码. 它仍然会输出文本.

isSilent

Type: boolean
Default: false

关闭所有的 spinner 和输出文本. 所有的输出都会被抑制 isEnabled 会被认为是 false.

discardStdin

Type: boolean
Default: true

禁止输入,除了Ctrl+C. 这个防止输入导致 spinner 抖动, 按Enter产生的换行,缓存输入内容.

这个在Windows 上没有影响,因为它没有合适的方法阻止输入.

实例方法

.start(text?)

启动spinner. 返回实例. 如果提供了text,会设置text值.

.stop()

停止并清除 spinner. 返回实例

.succeed(text?)

停止 spinner, 会变成绿色  并设置相关文本. 返回实例.

.fail(text?)

停止 spinner, 会变成红色  并设置相关文本. 返回实例

.warn(text?)

停止 spinner, 会变成黄色   并设置相关文本. 返回实例

.info(text?)

停止 spinner, ,会变成蓝色   并设置相关文本. 返回实例

.isSpinning

实例目前是否在旋转中.

.stopAndPersist(options?)

停止并改变 symbol 或 text. 返回实例.

options

Type: object

symbol

Type: string
Default: ' '

用于替换spinner 的符号.

text

Type: string
Default: Current 'text'

symbol后的文字

prefixText

Type: string
默认: 当前的 prefixText

symbol前的文本.

screenshot-2.gif

.clear()

清除图像, 返回一个实例.

.render()

手动渲染一帧. 返回改实例.

.frame()

获取一个新帧.

.text

改变图像后的文本.

.prefixText

改变spinner前的文字. 

.color

改变spinner的颜色.

.spinner

改变 spinner.

.indent

改变缩进

ora.promise(action, text)

ora.promise(action, options)

以promise方式启动一个spinner .  spinner 在调用 .succeed()或 的时候停止. 返回spinner 实例.

action

Type: Promise

FAQ

如何改变文本颜色

使用 Chalk:

const ora = require('ora');
const chalk = require('chalk');

const spinner = ora(`Loading ${chalk.red('unicorns')}`).start();

为什么 spinner 停顿了?

js 是单线程的, 同步操作会阻塞改线程, 包括spinner 动画. 尽量采用异步方式.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值