Nodejs交互式命令行提示插件enquirer的使用

Nodejs交互式命令行提示插件enquirer的使用
enquirer 是一个用于创建交互式命令行提示的 Node.js 库。它提供了一种简单的方式来创建各种类型的问答界面,例如输入框、选择框等。

下面是一个简单的例子,展示如何使用 enquirer 创建一个基本的命令行提示器:

  1. 首先,你需要安装 enquirer。你可以通过 npm 安装它:

    npm install enquirer
    
  2. 然后,你可以在你的 Node.js 脚本中使用它。以下是一个简单的示例,演示了如何使用 enquirer 来询问用户的名字和年龄,并打印出这些信息:

const enquirer = require('enquirer');

async function main() {
  const answers = await enquirer.prompt([
    {
      type: 'input',
      name: 'name',
      message: 'What is your name?',
    },
    {
      type: 'number',
      name: 'age',
      message: 'How old are you?',
      initial: 30, // 可选:设置默认值
      result: (value) => value.toString(), // 可选:处理结果
    }
  ]);

  console.log('Your answers:', answers);
}

main().catch(console.error);

在这个例子中:

  • 我们首先导入了 enquirer
  • 使用 enquirer.prompt() 方法来显示一系列的问题。这个方法返回一个 Promise,当用户提交答案时会解析为一个对象,其中包含每个问题的答案。
  • 我们定义了一个类型为 input 的问题,要求用户输入他们的名字。
  • 另外一个类型为 number 的问题,要求用户输入他们的年龄。这里我们还设置了默认值 30 和一个结果处理器,将数字转换为字符串。

运行这段代码后,控制台会显示两个问题,等待用户输入,然后输出用户的答案。

enquirer 还支持许多其他类型的提示,如确认框(confirm)、列表选择(select)等,可以根据需要灵活使用。


3 回复

Enquirer 是一个超级灵活的交互式命令行提示插件,让你可以轻松创建问答式的命令行界面。想象一下,它就像是命令行里的“聊天机器人”,能和用户进行有趣的互动!

首先,你需要安装它:

npm install enquirer

然后,你可以开始创建你的第一个提示:

const { prompt } = require('enquirer');

(async () => {
  const answer = await prompt([
    {
      type: 'input',
      name: 'name',
      message: 'What is your name?'
    }
  ]);

  console.log('Hello, ', answer.name);
})();

这段代码会询问你的名字,并且在你输入后打印出“Hello, [你的名字]”。

Enquirer 还支持更多类型的提示,比如 select(选择列表)、checkbox(多选框)等等,你可以根据需要来定制你的命令行体验。试试看,给你的CLI添加点“人情味”吧!


enquirer 是一个用于 Node.js 的强大且灵活的交互式命令行提示库。它允许你轻松地创建各种类型的问题(如输入、确认、选择等),并根据用户的输入执行相应的操作。下面是如何安装和使用 enquirer 的步骤。

1. 安装

首先,你需要在你的项目中安装 enquirer。你可以通过 npm 来安装:

npm install enquirer

2. 基本使用

接下来,我们来看看如何使用 enquirer 来创建一些基本的命令行提示。

示例 1: 创建一个简单的输入提示

const { prompt } = require('enquirer');

(async () => {
    const response = await prompt({
        type: 'input',
        name: 'name',
        message: 'What is your name?',
    });

    console.log(`Hello, ${response.name}!`);
})();

这段代码会询问用户的名字,并在用户提供名字后打印一条欢迎消息。

示例 2: 创建一个选择提示

const { prompt } = require('enquirer');

(async () => {
    const response = await prompt([
        {
            type: 'select',
            name: 'color',
            message: 'What is your favorite color?',
            choices: [
                'red',
                'green',
                'blue'
            ],
            initial: 1 // 默认选中绿色
        }
    ]);

    console.log(`Your favorite color is ${response.color}`);
})();

这个例子将提示用户选择他们最喜欢的颜色,并打印出他们选择的颜色。

示例 3: 创建一个确认提示

const { prompt } = require('enquirer');

(async () => {
    const response = await prompt({
        type: 'confirm',
        name: 'confirmation',
        message: 'Do you want to continue?'
    });

    if (response.confirmation) {
        console.log('You said yes!');
    } else {
        console.log('You said no.');
    }
})();

此示例询问用户是否想继续,然后根据他们的回答输出相应的消息。

3. 更多功能

enquirer 还支持更多复杂的选项和自定义功能,例如添加验证逻辑、自定义提示样式等。你可以参考其官方文档来探索更多可能性:Enquirer GitHub

这些就是使用 enquirer 创建交互式命令行提示的基本方法。希望这对你有所帮助!

Enquirer 是一个功能强大的交互式命令行提示插件,用于 Node.js。首先安装 Enquirer:

npm install enquirer

基本使用示例:

const { prompt } = require('enquirer');

prompt([
  {
    type: 'input',
    name: 'name',
    message: 'What is your name?',
  }
]).then((answers) => {
  console.log(answers);
}).catch((err) => {
  console.log(err);
});

这里创建了一个输入提示,询问用户的名字,并将结果打印出来。你可以根据需要调整类型和参数。

回到顶部