什么是 envproxy?
envproxy 是一个针对 Node.js 应用程序的简单、易用的环境变量配置处理库。它通过解析环境变量中的字符串并将其转换为 JavaScript 对象来帮助开发者更轻松地管理应用程序的配置。
安装
使用 npm 安装 envproxy:
npm install envproxy
安装完成后,便可开始使用。
使用方法
基本使用
在应用程序中引入 envproxy 模块:
const envproxy = require('envproxy');
通过调用 envproxy 的 load()
方法即可读取环境变量并将其转换为对象:
const config = envproxy.load({ // 配置对象 });
例如,以下环境变量:
DATABASE_HOST=localhost DATABASE_USER=user DATABASE_PASSWORD=password DATABASE_PORT=3306
可以通过以下方式转换为 JavaScript 对象:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------ - --------------- --------- - ----- ---------------- ----- ---------------- --------- -------------------- ----- ---------------- -- --- -------------------- -- ---- --------- - ----- ------------ ----- ------- --------- ----------- ----- ------ - -
配置对象
在调用 load()
方法时,需要提供一个配置对象用于指定需要读取的环境变量。配置对象应该包含一个或多个属性,其中每个属性都代表了一个需要读取的环境变量。
例如,以下配置对象用于读取名为 MY_APP_PORT
的环境变量:
const config = envproxy.load({ myAppPort: 'MY_APP_PORT', });
在读取环境变量时,任何以空格、逗号、分号、冒号、竖杆、破折号、下划线、点号等符号分隔开的字符串都会被转换为一个数组。
-- -------------------- ---- ------- -- ---- -------------------------------------- -- ---- ----- ------ - --------------- ----------- -------------- --- ------------------- -- ---- ----------- ------------ ----------- ----------- -
是否可选配置
对于一些配置项,可能是不必要的或者可以采用默认值的。在 envproxy 中可以通过 optional
属性来设置这些配置项是否可选。
-- -------------------- ---- ------- ----- ------ - --------------- ------- - ---- ---------- --------- ----- -- ---------- - ---- ------------- --------- ------ -- --- -------------------- -- ---- ------- --------- -
在上面的示例中,apiKey
配置项是可选的,而 apiSecret
配置项是必须的。optional
属性默认值为 false
。
返回值
envproxy 的 load()
方法会返回一个 JavaScript 对象,对象中的属性名与配置对象中的属性名相同,属性值为相应的环境变量的值。
对于必须的配置项,如果对应的环境变量不存在,load()
方法会直接抛出异常。
如果配置对象中的属性名与环境变量的名称不同,可通过配置对象中的 env
属性指定相应的环境变量名称,例如:
const config = envproxy.load({ apiKey: { env: 'MY_API_KEY', }, }); console.log(config.apiKey); // 输出:apiKey 环境变量的值
总结
envproxy 是一个非常实用的 npm 包,它可以帮助开发者更方便地使用环境变量来管理应用程序的配置。在使用 envproxy 时,需要先安装该包,然后在应用程序中引入它即可开始使用。load()
方法是 envproxy 中最主要的方法,它接受一个配置对象并返回一个 JavaScript 对象。在配置对象中,可指定需要读取的环境变量及其属性名,也可以指定一些配置项是否可选。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056bdb81e8991b448e5851