news 2026/5/1 3:35:17

Node.js - promet 工具库 与 Dotenv 工具库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node.js - promet 工具库 与 Dotenv 工具库

文章目录

  • 前言
    • 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输入不对,会被正则校验住。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:31:24

Apache Superset:从零构建企业级自助BI平台的完整指南

1. 项目概述:为什么我们需要一个强大的数据探索与可视化平台在数据驱动的时代,无论是数据分析师、产品经理还是业务决策者,都面临着一个共同的挑战:如何快速、直观地从海量数据中获取洞察。传统的做法往往需要依赖专业的BI工程师&…

作者头像 李华
网站建设 2026/5/1 3:30:49

EchoDistill:扩散模型一步个性化新方法解析

1. 项目概述:扩散模型个性化新范式去年在训练Stable Diffusion的LoRA适配器时,我遇到一个头疼的问题:既要保留原模型的丰富生成能力,又要让模型学会特定风格或对象,往往需要数千步的微调。而今天要介绍的EchoDistill&a…

作者头像 李华
网站建设 2026/5/1 3:30:23

AI Agent、Skill与MCP:构建下一代智能体的黄金三角法则!

本文深入解析了AI Agent、Skill和MCP三大核心概念及其协同工作原理。AI Agent作为决策者,能感知环境、制定计划并调用工具;Skill封装可复用的专家知识,赋予Agent领域深度;MCP则提供标准化工具集成协议,让Agent连接无限…

作者头像 李华