简介
环境变量是前端应用中常用的配置方式之一,而在不同的环境中配置变量常常是一个麻烦的事情。npm 包 env-regex 可以方便地从环境变量中获取到需要的配置信息,并在应用中使用。本文将介绍该包的使用方式和示例。
安装
在项目目录下执行以下命令进行安装:
npm install env-regex
使用
在项目中引入 env-regex:
const envRegex = require('env-regex');
从环境变量中获取值
通过 envRegex()
方法从环境变量中获取值,其参数为一个正则表达式,用于匹配环境变量名。比如,如果我们要获取名为 APP_NAME
的环境变量值,可以这样写:
const appName = envRegex(/^APP_NAME$/i); console.log(appName); // 输出 APP_NAME 对应的值
注意,envRegex()
方法直接返回环境变量的值,如果不存在对应的环境变量,则返回 undefined。
获取 boolean 值
有时我们需要从环境变量中获取一个 boolean 值,比如判断是否开启 debug 模式。由于环境变量中存储的值为 string 类型,我们需要一些方式将其转换为 boolean 值。env-regex 提供了两个方法,fromVar()
和 toVar()
,用于将 boolean 值转化为在环境变量中使用的字符串,或反之。
比如,我们在环境变量中存储了一个字符串,表示是否开启了 debug 模式:
DEBUG=true
我们可以通过如下方式获取其对应的 boolean 值:
const debug = envRegex('DEBUG'); console.log(debug); // 输出 true,注意此时 debug 的类型为 boolean
我们也可以将 boolean 值存储在环境变量中:
DEBUG_ENABLED=false
然后通过如下方式获取其对应的 boolean 值:
const debugEnabled = envRegex.fromVar('DEBUG_ENABLED'); console.log(debugEnabled); // 输出 false,注意此时 debugEnabled 的类型为 boolean
获取 number 值
与获取 boolean 值类似,env-regex 也提供了 parseFloat()
和 parseInt()
方法,用于从环境变量中获取数值类型的值。比如,我们在环境变量中存储了一个字符串:
MAX_NUM=100
我们可以通过以下方式获取对应的 number 值:
const maxNum = envRegex.parseFloat('MAX_NUM'); console.log(maxNum); // 输出 100,注意此时 maxNum 的类型为 number
示例
以下是一个使用 env-regex 包的完整示例,它从环境变量中获取了一个 API 地址和一个 boolean 值,并用于发送请求:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- -------- - --------------------- -- -- --- -- ----- ------- - ------------------------ -- ---------- - ----- --- --------------- --- ------ - -- ---- ----- -- ----- ------------ - ------------------ -- -------------- - ---------------- -------- ------------- - -- ---- ------------------------------------- -- - -------------------- ---------- ------------ -- - ---------------------- -------- ----- ---
参考文献
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005523b81e8991b448cfc40