
开发工具【免费下载链接】enquirerStylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, airbnb/nimbus, and more! Please follow Enquirers author: https://github.com/jonschlinkert项目地址https://gitcode.com/gh_mirrors/en/enquirer点击查看免费下载本指南完整讲解如何将 Enquirer——一款轻量、易用、可扩展的 Node.js 交互式命令行提示prompt库——安装到你的项目中。文中覆盖 npm 与 yarn 两种官方推荐安装方式、Node.js 版本前置要求、安装产物解析、安装后的验证步骤与首个可运行示例并给出仓库源码与类型定义作为实证依据帮助你读完即可在项目里跑通第一个交互式提示。前置条件Node.js 版本要求安装 Enquirer 前请先确认运行环境满足版本要求。Enquirer 官方声明其运行需要Node.js 8.6 或更高版本。这一约束在仓库的 package.json 中有明确对应{ name: enquirer, version: 2.4.1, engines: { node: 8.6 } }engines.node字段声明了当前仓库版本2.4.1支持的 Node.js 最低版本。如果你使用的是较早的 Node.js 版本且确有兼容需求官方文档建议通过提交 issue 的方式反馈让维护者评估是否支持更早的版本。提示enquirer 的文档同时指出await等异步写法需要运行在async函数内部请确保你的 Node.js 环境支持 async/awaitNode.js 8.6 已完整支持。方式一使用 npm 安装npm 是 Node.js 自带的标准包管理器也是官方文档推荐的第一种安装方式。在项目根目录执行npm install enquirer --save--save参数会把 enquirer 作为dependencies运行时依赖写入项目的package.json保证它随项目一起被安装到生产环境。安装完成后node_modules目录下会出现enquirer包包含 index.js入口、index.d.tsTypeScript 类型声明与lib实现源码三部分与 package.json 中files字段声明的内容一致。安装过程的直观效果可参考下方演示方式二使用 yarn 安装如果你使用 yarn 作为包管理器官方文档提供了等价的安装命令yarn add enquireryarn add会同时完成两件事将 enquirer 下载到node_modules并把依赖写入package.json的dependencies中与 npm 的--save行为一致。除了 npm 与 yarn 这两种官方文档明确列出的方式凡是与 npm 生态兼容的包管理器如 pnpm 等通常也可以安装该包因为 enquirer 发布在标准的 npm registry 上具体用法请以你所使用的包管理器文档为准。安装完成后如何验证安装成功后可以通过以下几种方式快速确认 enquirer 是否可用。1. 检查安装版本在项目目录下执行npm ls enquirer正常输出会显示enquirer2.4.1版本号以实际安装为准。2. 在 Node REPL 中验证模块可加载node -e const enquirer require(enquirer); console.log(typeof enquirer.prompt);如果输出function说明入口模块加载成功并且prompt方法已就绪。3. 查看包入口与产物enquirer 的 package.json 中main字段指向index.js也就是说require(enquirer)实际加载的就是仓库根目录下的 index.js。该文件导出一个Enquirer类继承自 Node.js 的EventEmitter并暴露了prompt静态方法直接传入 question 对象或对象数组即可运行提示所有内置 prompt 类如Confirm、Input、Select等作为静态属性暴露。const Enquirer require(enquirer); const enquirer new Enquirer();同时index.d.ts 提供了完整的 TypeScript 类型声明TypeScript 项目无需额外安装类型包。安装后第一个可运行示例安装并验证通过后即可用最少的代码跑通一个交互式输入提示。以下示例来自官方 使用指南const { prompt } require(enquirer); const response await prompt({ type: input, name: username, message: What is your username? }); console.log(response); // { username: jonschlinkert }注意await需要包裹在async函数中例如(async () { const { prompt } require(enquirer); const response await prompt({ type: input, name: username, message: What is your username? }); console.log(response); })();也可以一次运行多个提示只需传入一个 question 对象数组最终会返回一个以name为键的 answers 对象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 }除了统一的prompt()入口还可以直接导入某个内置 prompt 类并调用其run()方法const { Confirm } require(enquirer); const prompt new Confirm({ name: question, message: Did you like enquirer? }); prompt.run() .then(answer console.log(Answer:, answer));安装产物里有哪些内置提示安装完成后lib/prompts目录下即为全部内置 prompt 的实现。从 lib/prompts/index.js 的导出清单可以看到enquirer 共内置 19 种提示类型均同时以首字母大写类名和小写type 名两种形式导出提示类型用途AutoComplete/autocomplete随输入自动补全并返回选中值BasicAuth/basicauth询问用户名与密码做认证Confirm/confirm返回true或falseEditable/editable允许在单个界面上编辑多个值Form/form单屏录入并提交多个字段Input/input接收输入并返回字符串Invisible/invisible接收输入但终端不可见List/list按分隔符默认逗号拆分为列表MultiSelect/multiselect从列表中选择多个选项Numeral/numeral接收数字输入Password/password输入时以掩码显示Scale/scale使用李克特量表快速评分Select/select从列表中选择一个选项Snippet/snippet在模板占位符中填写内容Sort/sort对选项进行排序Survey/survey针对一组问题收集反馈Text/text文本输入Toggle/toggle开关式二选一Quiz/quiz多选一答题每种内置提示的完整示例与可选参数可参考 README.md 的 Built-in prompts 章节以及examples目录下按类型组织的大量可运行示例。安装依赖说明enquirer 的运行时依赖非常克制。根据 package.json 的dependencies字段它仅依赖两个包ansi-colors用于终端 ANSI 颜色与样式strip-ansi用于去除字符串中的 ANSI 转义序列。这意味着安装 enquirer 时npm/yarn 只会额外拉取这两个依赖安装体积小、速度快适合从轻量脚本到复杂 CLI 工具的各类项目。TypeScript 项目中的安装使用enquirer 随包自带 index.d.ts 类型声明TypeScript 项目安装后可直接获得类型提示无需额外安装types/enquirer。声明文件定义了BasePromptOptions所有 prompt 共有的基础选项接口type、name、message、initial、format、result、validate、skip等各类 prompt 的专项选项接口如ArrayPromptOptions、BooleanPromptOptions、NumberPromptOptionsEnquirer类的register()、prompt()、use()方法签名以及Enquirer.prompt()函数签名。类型化调用示例import Enquirer require(enquirer); const { prompt } Enquirer; const response await prompt({ type: confirm, name: question, message: Did you like enquirer? });常见问题Q1安装时报 Node.js 版本过低怎么办Enquirer 要求 Node.js 8.6。建议升级到受支持的 Node.js 版本当前仓库版本为 2.4.1。如果确实需要支持更早的 Node 版本可以按官方文档指引向维护者提交 issue 反馈需求。Q2require(enquirer)与require(enquirer).prompt有什么区别require(enquirer)返回Enquirer类本身可以new Enquirer()创建实例并使用实例方法require(enquirer).prompt是导出的便捷静态函数直接传入 question 即可运行适合一次性交互场景。两种方式在 index.js 中均有完整实现。Q3安装后项目里没有类型提示请确认项目使用的是 TypeScript 且node_modules/enquirer目录下存在 index.d.ts。enquirer 的类型声明随主包发布无需额外安装类型定义包。进一步阅读Enquirer 使用指南单提示、多提示与多种运行方式详解Prompt 选项参考type、name、message、initial、format、result、validate等核心选项说明内置提示示例按类型组织的可运行示例input、confirm、select、multiselect等入口实现Enquirer类、prompt()静态方法及各内置类的导出逻辑赞分享开发工具【免费下载链接】enquirerStylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, airbnb/nimbus, and more! Please follow Enquirers author: https://github.com/jonschlinkert项目地址https://gitcode.com/gh_mirrors/en/enquirer点击查看免费下载相关推荐Enquirer CLI 交互式提示库完全指南从安装、内置 Prompts 到自定义扩展Enquirer CLI 交互式提示库完全指南从安装、内置 Prompts 到自定义扩展 Enquirer 是一个用于构建 Node.js 交互式命令行提示开发工具no-defender无法禁用Windows Defender怎么办4档实战排查指南验证与错误速查no defender无法禁用Windows Defender怎么办4档实战排查指南验证与错误速查 no defender通过WSCWindows 安全中Enquirer 2.0 全面解析语义化样式、内置 Prompt 与对话式 CLI 交互Enquirer 2.0 全面解析语义化样式、内置 Prompt 与对话式 CLI 交互 Enquirer 2.0 是该项目的一次彻底重构不仅重写了 Pro开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考