npm 包 envconfig 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

简介

envconfig 是一个 npm 包,用于简化 Node.js 应用程序的环境变量配置。它可以使配置管理更加轻松,更容易记忆和维护。

环境变量是存储在操作系统中的全局变量,我们可以在程序中访问这些变量。通过使用 envconfig,可以通过简单的定义环境变量并使用它们来避免硬编码配置数据。

安装

使用 npm 进行全局安装:

--- ------- -- ---------

或者作为依赖项安装到您的项目中:

--- ------- ------ ---------

使用

基础用法

要使用 envconfig,只需简单地在代码中导入该包,并为需要公开的环境变量提供默认值。

----- --------- - ---------------------

----- -
    -------- - -----
    ------- - --------------
    -------- - --- ----
- - ------------

上面例子中 envconfig 默认会检查环境变量中是否已经存在 APP_PORTAPP_ENVAPP_NAME 。 如果这些变量不存在,则会使用默认值 3000developmentMy App

自定义前缀

如果您的变量具有某种前缀,则可以将其提供给 envconfig,以便它只公开以该前缀开头的变量:

----- --------- - ---------------------

----- -
    ---- - -----
    ---- - ------------
    ------- - --------
- - ------------------ -----------

在这个例子中,只有以 MY_APP 前缀开头的环境变量才会被暴露为变量。例如,MY_APP_PORT 将变为 PORT,并以默认值 3000 为其提供的 value。

配置优先级

在配置应用程序时,有可能会在多个地方进行配置。环境变量提供了一种简单的方法来处理应用程序配置,但是默认情况下,在相同的环境变量中定义的值将具有更高的优先级。

这意味着在这两个命令行:

---------------- ---- ------
---- ------

调用第一个命令将导致 PORT3001,而第二个调用将导致 PORT 是默认值 3000

示例

----- --------- - ---------------------

----- -
    ---------
    --------
    --------
- - ------------------ -----------

--------------------- ----------- -- ---------- ---- -- ---- --------------

在上面的示例中,我们首先从环境变量中获取 APP_PORTAPP_ENVAPP_NAME,并将自定义前缀设置为 MY_APP。然后我们将这些变量打印到控制台上。

此处我们可以检查环境变量是否存在,如果环境变量没有设置的话,会打印出默认值。

深度和学习以及指导意义

envconfig 是一个轻松简单的方式管理项目的所有配置选项,同时它提供了很好的灵活性。

它使得代码变得更加可维护,更容易设置和更新环境变量,并提高了代码的可读性。通过使用 envconfig,您可以轻松地将代码从繁琐的配置管理中解放出来,使您专注于编写业务逻辑。

结论

总之,envconfig 是一个非常实用的 npm 包,可以使配置管理变得相当容易,同时提高代码的可读性和可维护性。 我们应该尽可能地使用它来管理环境变量以及配置选项。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066e25a563576b7b1eced2


猜你喜欢

  • npm 包 kalkulatr 使用教程

    kalkulatr 是一个针对 JavaScript 和 Node.js 环境的简单的数学运算表达式计算库。它可以帮助开发者轻松地进行数学运算,包括基本运算和常见的数学函数计算等。

    4 年前
  • npm 包 kalm-j 使用教程

    简介 Kalm-j 是一款用于实现 WebSocket 通信的开源 JavaScript 库,它比起其他 WebSocket 库更具有高效性、可定制性和灵活性,可用于前端和后端开发。

    4 年前
  • npm 包 justjst 使用教程

    什么是 justjst justjst 是一个 npm 包,它提供了很多方便的前端工具方法,比如说深拷贝对象、获取浏览器信息、格式化日期等等,可以帮助前端开发者更加高效地编写代码。

    4 年前
  • npm 包 justlogin.xyz-client 使用教程

    前言 在现代 Web 开发中,前端框架的使用已经成为了日常开发的必备内容。如何高效地处理用户认证和授权已经成为了每个 WEB 应用必需的服务。针对这一问题,创造了很多身份认证库和授权库。

    4 年前
  • npm 包 karma-angularity-solution 使用教程

    简介 karma-angularity-solution 是一个专为 AngularJS 项目所设计的测试解决方案。它可以帮助您快速建立一个前端测试环境,并提供一些实用的工具,使您的测试变得更简单、更...

    4 年前
  • npm 包 karma-argo-reporter 使用教程

    karma-argo-reporter 是一个用于前端自动化测试的 npm 包。它可以将 Karma 运行的测试结果直接提交到 Argo 测试系统中,方便测试人员查看测试结果、定位问题等。

    4 年前
  • npm 包 karma-artjs 使用教程

    Karma 是一个 JavaScript 测试运行器,它允许你在真实的浏览器中运行测试用例。Karma 可以和大多数流行的测试框架(如 Jasmine、Mocha 等)集成,支持许多浏览器(如 Chr...

    4 年前
  • npm包karma-assertive-chai使用教程

    简介 在前端开发中,我们需要对代码进行单元测试,而Karma是一个非常出色的跑测工具。karma-assertive-chai 包提供了Chai Assertion库的支持,可以更方便地进行单元测试。

    4 年前
  • npm 包 karma-atlassian-bamboo-reporter 使用教程

    在前端开发中,自动化测试是一个必不可少的环节。而 karma-atlassian-bamboo-reporter 就是一个非常好用的测试报告工具,它能够将测试结果生成为 Atlassian Bambo...

    4 年前
  • npm 包 jzs-context 使用教程

    前言 在前端开发中,数据的传递是非常重要的一个环节。常见的方式有 props 和 Vuex 等。但是,有时候这些方式并不够灵活,需要一些特殊的处理方式。而 jzs-context 可以帮助我们解决这个...

    4 年前
  • npm 包 k-animate-stylus 使用教程

    在前端项目中,动画效果是非常重要的一部分。然而手写 CSS 动画的过程非常繁琐,尤其是对于复杂的动画来说。为了解决这个问题,我们可以使用现有的动画库,其中 k-animate-stylus 是一个优秀...

    4 年前
  • npm 包 k-before-unload 使用教程

    在前端开发过程中,我们经常会遇到需要在页面刷新或关闭之前保存用户数据的需求。为了简化这个过程,npm 包 k-before-unload 应运而生。通过 k-before-unload,我们可以在需要...

    4 年前
  • npm 包 justinlivi-watercolor-sediment 使用教程

    在前端开发中,我们常常使用各种 npm 包来帮助我们完成一些相对繁琐的任务。justinlivi-watercolor-sediment 是一个非常有趣的 npm 包,它可以模拟水彩沉淀的效果,可以用...

    4 年前
  • npm 包 justjs 使用教程

    简介 npm 是世界上最大的软件包管理器,包括了很多的前端类的包。这些包可以大大的简化前端开发工作。justjs 就是其中一个非常实用的包,它是一个轻量级 JavaScript 库,用于处理一些常见的...

    4 年前
  • npm 包 justj.io 使用教程

    什么是 justj.io justj.io 是一个基于 WebRTC 技术的音视频通讯库,它可以帮助开发者快速搭建音视频通讯功能。justj.io 依赖于 janus-gateway,可以在浏览器中实...

    4 年前
  • npm 包 karma-background 使用教程

    前言 在前端领域,测试是不可或缺的一部分。作为前端测试工具之一的 karma,它主要用于自动化地运行测试,可以帮助开发人员更快速、更准确地检测代码中的错误。但是,正常情况下,我们需要手动打开浏览器来显...

    4 年前
  • npm 包 karma-bamboo 使用教程

    简介 karma-bamboo 是一个 Karma 插件,可以将测试结果上传至 Bamboo CI,方便开发者更好地监控项目的测试情况。Karma 是一个用于编写 JavaScript 单元测试的工具...

    4 年前
  • npm 包 kalm-msgpack 使用教程

    前言 在前端开发中,我们需要进行各种网络通信操作,而数据传输是其重要组成部分之一。JSON是一种常见的数据格式,尤其在Web应用中,但是JSON的性能并不是最佳的。

    4 年前
  • npm 包 kalm-router 使用教程

    在 Web 开发过程中,很多时候我们需要对前端路由进行管理。kalm-router 是一个基于 JavaScript 的前端路由管理包,它可以帮助我们更加方便地管理前端路由,提高我们的开发效率。

    4 年前
  • npm 包 kalm-snappy 使用教程

    kalm-snappy 是一个基于 kalm websocket 实现及 Snappy 压缩算法的 npm 包,它可以使 websocket 消息在传输过程中被压缩,从而减少网络传输带宽,提升网络性能...

    4 年前

相关推荐

    暂无文章