简介
envconfig 是一个 npm 包,用于简化 Node.js 应用程序的环境变量配置。它可以使配置管理更加轻松,更容易记忆和维护。
环境变量是存储在操作系统中的全局变量,我们可以在程序中访问这些变量。通过使用 envconfig,可以通过简单的定义环境变量并使用它们来避免硬编码配置数据。
安装
使用 npm 进行全局安装:
npm install -g envconfig
或者作为依赖项安装到您的项目中:
npm install --save envconfig
使用
基础用法
要使用 envconfig,只需简单地在代码中导入该包,并为需要公开的环境变量提供默认值。
const envconfig = require('envconfig'); const { APP_PORT = 3000, APP_ENV = 'development', APP_NAME = 'My App' } = envconfig();
上面例子中 envconfig
默认会检查环境变量中是否已经存在 APP_PORT
,APP_ENV
和 APP_NAME
。 如果这些变量不存在,则会使用默认值 3000
,development
和 My App
。
自定义前缀
如果您的变量具有某种前缀,则可以将其提供给 envconfig,以便它只公开以该前缀开头的变量:
const envconfig = require('envconfig'); const { PORT = 3000, HOST = 'localhost', API_KEY = 'secret' } = envconfig({prefix: 'MY_APP'});
在这个例子中,只有以 MY_APP
前缀开头的环境变量才会被暴露为变量。例如,MY_APP_PORT
将变为 PORT
,并以默认值 3000
为其提供的 value。
配置优先级
在配置应用程序时,有可能会在多个地方进行配置。环境变量提供了一种简单的方法来处理应用程序配置,但是默认情况下,在相同的环境变量中定义的值将具有更高的优先级。
这意味着在这两个命令行:
MY_APP_PORT=3001 node app.js
node app.js
调用第一个命令将导致 PORT
是 3001
,而第二个调用将导致 PORT
是默认值 3000
。
示例
-- -------------------- ---- ------- ----- --------- - --------------------- ----- - --------- -------- -------- - - ------------------ ----------- --------------------- ----------- -- ---------- ---- -- ---- --------------
在上面的示例中,我们首先从环境变量中获取 APP_PORT
,APP_ENV
和 APP_NAME
,并将自定义前缀设置为 MY_APP
。然后我们将这些变量打印到控制台上。
此处我们可以检查环境变量是否存在,如果环境变量没有设置的话,会打印出默认值。
深度和学习以及指导意义
envconfig 是一个轻松简单的方式管理项目的所有配置选项,同时它提供了很好的灵活性。
它使得代码变得更加可维护,更容易设置和更新环境变量,并提高了代码的可读性。通过使用 envconfig,您可以轻松地将代码从繁琐的配置管理中解放出来,使您专注于编写业务逻辑。
结论
总之,envconfig 是一个非常实用的 npm 包,可以使配置管理变得相当容易,同时提高代码的可读性和可维护性。 我们应该尽可能地使用它来管理环境变量以及配置选项。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e25a563576b7b1eced2