前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >enquirer 使用指南

enquirer 使用指南

原创
作者头像
泯泷、
发布2024-03-17 21:54:14
720
发布2024-03-17 21:54:14

安装

npm 安装:

代码语言:shell
复制
$ npm install enquirer --save

yarn 安装:

代码语言:shell
复制
$ yarn add enquirer

使用

问答题

使用 enquirer 的最简单方法是将问题对象传递给该prompt方法。

代码语言:js
复制
const { prompt } = require('enquirer');
 
const response = await prompt({
  type: 'input',
  name: 'username',
  message: 'What is your username?'
});
 
console.log(response); // { username: 'jonschlinkert' }

await(需要在 async 函数内部运行)

遇到多个问题,可以将多个问题对象以数组形式传给prpmpt方法,返回完整的答案对象。

代码语言:js
复制
const response = await prompt([
  {
    type: 'input',
    name: 'name',
    message: 'What is your name?'
  },
  {
    type: 'input',
    name: 'username',
    message: 'What is your username?'
  }
]);
 
console.log(response); // { name: 'Edward Chan', username: 'edwardmchan' }
问题对象类型
代码语言:js
复制
{
  type: String, // 表示提问的类型,下文会单独解释
  name: String, // 在最后获取到的answers回答对象中,作为当前这个问题的键
  message: String|Function, // 打印出来的问题标题,如果为函数的话
  default: String|Number|Array|Function, // 用户不输入回答时,问题的默认值。或者使用函数来return一个默认值。假如为函数时,函数第一个参数为当前问题的输入答案。
  choices: Array|Function, // 给出一个选择的列表,假如是一个函数的话,第一个参数为当前问题的输入答案。为数组时,数组的每个元素可以为基本类型中的值。
  validate: Function, // 接受用户输入,并且当值合法时,函数返回true。当函数返回false时,一个默认的错误信息会被提供给用户。
  filter: Function, // 接受用户输入并且将值转化后返回填充入最后的answers对象内。
  when: Function|Boolean, // 接受当前用户输入的answers对象,并且通过返回true或者false来决定是否当前的问题应该去问。也可以是简单类型的值。
  pageSize: Number, // 改变渲染list,rawlist,expand或者checkbox时的行数的长度。
}

运行查询器的不同方法

1.通过导入特定的built-in prompt
代码语言:js
复制
const { Confirm } = require('enquirer');
 
const prompt = new Confirm({
  name: 'question',
  message: 'Did you like enquirer?'
});
 
prompt.run().then(answer => console.log('Answer:', answer));
2.通过将选项传递给prompt
代码语言:js
复制
const { prompt } = require('enquirer');
 
prompt({
  type: 'confirm',
  name: 'question',
  message: 'Did you like enquirer?'
})
  .then(answer => console.log('Answer:', answer));

更多案例

按类型分类示例

支持自动补全

提示在用户键入时自动完成,并将所选值作为字符串返回。

代码语言:js
复制
const { AutoComplete } = require('enquirer');
 
const prompt = new AutoComplete({
  name: 'flavor',
  message: 'Pick your favorite flavor',
  limit: 10,
  initial: 2,
  choices: [
    'Almond',
    'Apple',
    'Banana',
    'Blackberry',
    'Blueberry',
    'Cherry',
    'Chocolate',
    'Cinnamon',
    'Coconut',
    'Cranberry',
    'Grape',
    'Nougat',
    'Orange',
    'Pear',
    'Pineapple',
    'Raspberry',
    'Strawberry',
    'Vanilla',
    'Watermelon',
    'Wintergreen'
  ]
});
 
prompt.run()
  .then(answer => console.log('Answer:', answer))
  .catch(console.error);

参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用
    • 问答题
      • 问题对象类型
    • 运行查询器的不同方法
      • 1.通过导入特定的built-in prompt
      • 2.通过将选项传递给prompt
    • 更多案例
      • 按类型分类示例
    • 支持自动补全
    • 参考文档
    相关产品与服务
    命令行工具
    腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档