Nodejs命令行旋转器与spinner插件ora的使用

Nodejs命令行旋转器与spinner插件ora的使用
ora 是一个非常流行的 Node.js 命令行工具,用于在执行长时间运行的任务时显示旋转指示器(spinner)。它提供了丰富的配置选项,可以自定义 spinner 的样式、颜色以及文本等。

安装

首先,你需要安装 ora

npm install ora

使用示例

下面是一个简单的示例,展示了如何使用 ora 显示一个加载指示器:

const ora = require('ora');

// 创建一个新的 spinner 实例
const spinner = ora('Loading unicorns').start();

setTimeout(() => {
    // 更新 spinner 文本
    spinner.text = 'Loading rainbows';

    setTimeout(() => {
        // 成功完成
        spinner.succeed('All unicorns and rainbows loaded!');
    }, 1000);
}, 1000);

配置

你可以通过配置选项来自定义 spinner 的行为和外观。例如:

const ora = require('ora');

const spinner = ora({
    text: 'Loading unicorns',
    color: 'yellow',            // 设置颜色
    enabled: process.stdout.isTTY,  // 只在 TTY 上启用
    stream: process.stderr       // 输出到 stderr 而不是 stdout
}).start();

setTimeout(() => {
    spinner.color = 'cyan';     // 更改颜色
    spinner.text = 'Loading rainbows';
    setTimeout(() => {
        spinner.succeed('All unicorns and rainbows loaded!');
    }, 1000);
}, 1000);

动态更新

你可以在任务的不同阶段动态更新 spinner 的状态:

const ora = require('ora');

const spinner = ora('Fetching data').start();
spinner.color = 'magenta';

fetchData().then(data => {
    spinner.info('Fetched data successfully');
    spinner.stop(); // 停止 spinner
}).catch(error => {
    spinner.fail('Failed to fetch data');
    spinner.stop();
});

自定义 Spinner

ora 还允许你自定义 spinner 的动画序列。你可以选择预定义的序列或创建自己的序列:

const ora = require('ora');

const customSpinner = ora({
    text: 'Custom spinner',
    spinner: {
        interval: 80,           // 控制动画的速度
        frames: ['🌍', '🌎', '🌏'] // 自定义动画序列
    }
});

customSpinner.start();
setTimeout(() => {
    customSpinner.succeed('Done!');
}, 3000);

以上就是 ora 插件的基本用法和一些高级功能。希望这对你有所帮助!


3 回复

当然,Ora 是一个非常酷的 npm 包,用来在命令行中添加旋转的加载动画。首先,你需要安装它:

npm install ora

然后你可以这样使用它:

const ora = require('ora');

// 创建一个新的 spinner
const spinner = ora('Loading unicorns').start();

setTimeout(() => {
  spinner.color = 'yellow'; // 改变颜色
  spinner.text = 'Loading rainbows'; // 更改显示文本
}, 1000);

setTimeout(() => {
  spinner.succeed('Done!'); // 成功完成
}, 3000);

这会在控制台显示一个旋转的加载条,一秒后变成黄色并改变文字,三秒后显示“Done!”表示成功。是不是很酷炫?


Ora 是一个非常实用的 Node.js 命令行工具库,用于创建和管理命令行界面中的旋转器(spinners)。它可以帮助你在处理长时间运行的任务时,给用户提供即时反馈。以下是 Ora 的基本使用方法:

安装

首先,你需要安装 ora 库。可以通过 npm 进行安装:

npm install ora

基本用法

以下是一个简单的示例,展示了如何使用 Ora 创建一个旋转器,并在一段时间后完成:

const ora = require('ora');

// 创建一个新的旋转器实例
const spinner = ora('Loading unicorns').start();

// 模拟一个耗时操作
setTimeout(() => {
    if (spinner.isSpinning) {
        spinner.color = 'yellow'; // 更改旋转器的颜色
        spinner.text = 'Unicorns loaded!'; // 更改旋转器的文本
        spinner.succeed(); // 设置为成功状态
    }
}, 2000);

更多配置选项

你可以通过设置不同的选项来自定义旋转器的行为和外观。例如:

const spinner = ora({
    text: 'Fetching unicorns',
    color: 'cyan', // 文本颜色
    stream: process.stderr, // 输出流,默认是 process.stdout
    interval: 80, // 动画帧之间的延迟时间(毫秒)
    enabled: true // 是否启用旋转器,默认根据终端环境自动判断
}).start();

// 同样的耗时操作...

错误处理

如果任务出错,你可以将旋转器设置为失败状态:

try {
    // 执行一些可能出错的操作
} catch (err) {
    spinner.fail('Failed to load unicorns!'); // 设置为失败状态
}

以上就是使用 ora 库的基本指南。通过这些简单的步骤,你可以在你的 Node.js 命令行应用程序中添加旋转器动画,提高用户体验。

ora 是一个用于 Node.js 的命令行旋转器(spinner)插件,可以用来显示加载动画。首先通过npm安装:npm install ora。使用时,先引入 ora,然后创建一个 spinner 实例,设置其文字描述等属性,调用 .start() 开始显示,使用 .stop() 停止。示例代码:

const ora = require('ora');
const spinner = ora('Loading stuff').start();
setTimeout(() => {
    spinner.color = 'yellow';
    spinner.text = 'Updating stuff...';
}, 1000);
setTimeout(() => {
    spinner.succeed('Done!');
}, 3000);

这段代码会在控制台显示从加载到更新再到完成的过程。

回到顶部