什么是 env2js?
env2js 是一个用于解析环境变量到 JavaScript 对象的 npm 包。通常情况下,我们在开发和部署应用时会用到各种配置信息,如 API 地址、数据库连接信息、密钥等,而这些信息通常需要存储在环境变量中,以保证安全性和可配置性。env2js 提供了一个方便的方式来从环境变量中读取这些配置信息。
如何使用 env2js?
安装
使用 npm 进行安装即可:
npm install env2js
使用
在使用 env2js 之前,我们首先需要在环境变量中设置我们想要读取的配置信息。例如,我们可以设置一个名为 API_HOST
的环境变量,表示后端服务的 API 地址:
export API_HOST=https://example.com/api/
在代码中,我们可以使用 env2js 来读取这个环境变量:
const env2js = require('env2js'); // 读取环境变量并解析为 JavaScript 对象 const config = env2js(['API_HOST']); console.log(config.API_HOST) // 输出 https://example.com/api/
注意这里传递的参数是一个数组,在数组中列出了我们想要读取的环境变量名称。
除了单个变量,我们还可以一次读取多个变量,例如:
-- -------------------- ---- ------- ----- ------ - ------------------ -- -------- ----- ------ - -------- ----------- ---------------- ---------------- ---------------- ------------------- --- ------------------- -- ---------------- ---------- --
更深入的了解
在实际开发中,我们可能需要对读取到的配置信息进行验证和处理。env2js 的使用非常灵活,我们可以传递第二个参数来对读取到的配置信息进行处理。例如,下面代码将会把 PORT
变量解析为整数类型:
const env2js = require('env2js'); // 处理读取到的变量 const config = env2js(['PORT'], { PORT: (val) => parseInt(val) }); console.log(config.PORT) // 输出一个整数
在第二个参数中,我们可以传递一个对象,键名表示环境变量名称,键值是一个函数,用来在读取变量时对变量值进行处理。上述代码中,函数将 PORT
的值转化为了整数类型。
我们还可以把多个处理函数进行组合,以实现更加精细化的操作。例如,下面代码会将 REDIS_HOST
转化为大写字符串:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ----------- - ----- -- ------------------ -- -------- ----- ------ - ---------------------- - ----------- ----- -- ----------------- ----------- ----- -- -------------- --- ------------------------------ -- ---------
在复杂的应用中,我们可能需要从多个环境变量中读取配置信息,并组合成一个对象。下面代码中,我们将 DB_
开头的所有变量统一读取,并将它们组合成一个对象:
-- -------------------- ---- ------- ----- ------ - ------------------ -- -- --- ------------ ----- -------- - -------------------------------------------- -- ----------------------- ----- ------ -- - -- -- --- -- ----- ---- - ------------- -- ---- -- ---------------------- -- --------------------------------- - ----- - --------------- ---- - ------ ------ ------- -- ---------------------- -- --------- --- --------
在读取环境变量时,我们可以传递一个函数作为第二个参数,该函数接受两个参数,即变量名称和变量值。返回值应该是一个数组,包含两个值,一个是解析后的名称,一个是对应的值。
总结
env2js 是一个非常方便的 npm 包,用于从环境变量中读取配置信息。我们可以使用它来统一管理配置信息,而不必硬编码在代码中,这也增加了代码的可读性和可维护性。同时,env2js 的使用也非常灵活,可以根据实际需求进行配置。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e25a563576b7b1ecea2