前言
在前端开发过程中,经常会需要用到环境变量,比如不同环境下的数据库地址、API 地址等。为了方便管理这些环境变量,我们可以使用 npm 包 @ladjs/env。
什么是 @ladjs/env
@ladjs/env 是一个用于读取环境变量的 npm 包。它支持从环境变量、命令行参数、dotenv 配置、默认值等多个来源读取环境变量,并提供了针对不同环境的默认配置。
安装 @ladjs/env
使用 npm 安装 @ladjs/env:
--- ------- ---------- ------
使用 @ladjs/env
基本使用
引入 @ladjs/env:
----- --- - ----------------------
然后调用 env 函数读取环境变量:
----- ----- - --------------
在环境变量中设置 DB_URL 后,调用 env 返回 DB_URL 的值。
从不同来源读取环境变量
@ladjs/env 提供了多种读取环境变量的方式,优先级从高到低依次为:
- 命令行参数
- 环境变量
- dotenv 配置文件
- 默认值
即如果同时提供了命令行参数和环境变量,@ladjs/env 会优先从命令行参数读取。
命令行参数的格式如下:
---- ------ ----------------
实际应用中,我们可以使用 yargs 等库来处理命令行参数,示例如下:
----- --- - ---------------------- ----- ----- - ----------------- ----- ---- - --------------- ---- - ----- --------- -------- ------------- -- -------- ----- ----- - ------------- - ------------ -------------------------------- ----------- --------------------------------- -- ------
以上示例中,env 函数接受三个参数:要读取的环境变量名、针对不同环境的默认配置、命令行参数对象。通过这种方式,可以方便地在不同环境下使用不同的配置。
高级使用
@ladjs/env 支持更多高级特性,包括:
1. 自定义默认值
可以给 env 函数传入第二个参数,用于设置默认值,示例如下:
----- ----- - ------------- ---------------------------------
2. 自定义 dotenv 配置文件
默认情况下,@ladjs/env 会读取项目根目录下的 .env 文件来加载 dotenv 配置。可以使用配置文件指定其他文件名,示例如下:
----- --- - ---------------------- ------------ ----- ---------------------- --- ----- ----- - --------------
3. 限制环境变量取值范围
可以使用 allowlist 或 denylist 限制环境变量的取值范围,示例如下:
----- --- - ---------------------- ------------ ---------- ---------- --------- --------- ------------ -------- --- ----- ----- - --------------
以上示例设置了 allowlist 和 denylist,分别表示只允许以 DB_ 开头的环境变量或者以 API_ 开头的环境变量,不允许 NODE_ENV 和以 DB_ 开头的环境变量。
总结
@ladjs/env 是一个非常实用的 npm 包,可以帮助我们更方便地读取环境变量,并提供了多种高级特性,可以满足各种不同的需求。希望本文对大家了解和使用 @ladjs/env 有所帮助。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedae80b5cbfe1ea0610e55