文章目录
- 前言
- Node.js - promet 工具库 与 Dotenv 工具库
- 1. promet 工具库
- 2. Dotenv 工具库
- 3. promet 与 Dotenv使用测试
- 3.1. 安装:
- 3.2. 测试
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
Node.js - promet 工具库 与 Dotenv 工具库
1. promet 工具库
prompt 是 Node.js 生态里一款经典、轻量的命令行交互式输入工具库,用于在终端 / 控制台中优雅获取用户输入,适合开发 CLI 工具、配置向导、自动化脚本等场景。
简单来说,prompt 就是 Node.js 里做「命令行交互式输入」的标准工具,开箱即用、带校验、安全、易扩展。
官网地址:
https://www.npmjs.com/package/prompt
主要用途:
- 交互式获取终端输入 用极简 API 弹出提示,让用户输入用户名、邮箱、密码、配置项等信息。
- 输入验证与约束 支持必填、正则、类型校验(字符串 / 数字 / 布尔 / 数组)、自定义校验,输入不合法会自动提示并重试。
- 敏感信息安全输入 密码等字段可隐藏输入,支持替换符(如 *),不回显明文。
- 默认值与自动填充 未输入时使用预设默认值,提升交互效率。
- 动态 / 条件提问 可根据上一题答案决定是否显示下一题,实现分支式交互流程。
- 便捷对象扩展 一键把用户输入追加到已有配置对象,方便生成配置文件。
- 样式与外观自定义 支持修改提示前缀、分隔符,配合颜色库美化终端输出。
- 兼容现代 JS 支持 Promise /async-await,告别回调嵌套。
典型使用场景:
- 脚手架 / 初始化工具(如项目创建向导)
- 配置文件生成 / 修改
- 需要账号密码的命令行工具
- 交互式运维脚本、批量处理工具
- 自动化流程中的人工确认环节
2. Dotenv 工具库
dotenv 是 Node.js 生态里一个零依赖、超轻量的环境变量加载工具, 把 .env 文件里的配置,自动读到 Node.js 的 process.env 里。
官网地址:https:www.npmjs.com/package/dotenv
3. promet 与 Dotenv使用测试
3.1. 安装:
yarnaddpromptyarnadddotenv我这里使用的是yarn的安装方式。
3.2. 测试
代码:
constpath=require('path');// 加载环境变量配置require('dotenv').config({path:path.resolve(__dirname,'../../','.env.dev')// 这里假设你在项目根目录下有 .env.dev 和 .env.prod 文件,根据需要切换});// 加载 prompt 模块,用于在命令行中获取用户输入varprompt=require('prompt');functionlog(msg){consttime=newDate().toLocaleString();console.log(`[${time}]${msg}`);}varschema={properties:{name:{pattern:/^[a-zA-Z\s\-]+$/,// 匹配字母、空格或破折号message:'Name must be only letters, spaces, or dashes',// 输入必须是字母、空格或破折号required:true// 必填项},password:{hidden:true// 隐藏密码输入}}};// 启动提示符prompt.start();// schema 定义了输入的属性,包括正则表达式、消息和是否必填等prompt.get(schema,function(err,result){// 处理输入结果log('Command-line input received:');log(' name: '+result.name);log(' password: '+result.password);log(' 获取环境变量 TARGET_CHAIN_ID: '+process.env.TARGET_CHAIN_ID);});执行该脚本进行测试。
node.\prompt.js可以看到,输入password的时候看不到。
可以看到name输入不对,会被正则校验住。