npm 包 @ladjs/env 使用教程

前言

在前端开发过程中,经常会需要用到环境变量,比如不同环境下的数据库地址、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 提供了多种读取环境变量的方式,优先级从高到低依次为:

  1. 命令行参数
  2. 环境变量
  3. dotenv 配置文件
  4. 默认值

即如果同时提供了命令行参数和环境变量,@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


猜你喜欢

  • npm 包 @graphql-toolkit/core 使用教程

    简介 GraphQL 工具包是一个用于创建和操作 GraphQL API 的集合。@graphql-toolkit/core 是其中一个使用最广泛的 npm 包,它提供了一套丰富的工具和 API,可以...

    4 年前
  • npm 包 @graphql-toolkit/file-loading 使用教程

    GraphQL 在前端开发中越来越受欢迎,而 @graphql-toolkit/file-loading 是一款非常有用的 npm 包,它提供了一种方便的方式来加载和解析 GraphQL 文件。

    4 年前
  • npm 包 @graphql-toolkit/graphql-file-loader 使用教程

    GraphQL 是一种用于 API 的查询语言,同时也是一个满足你数据查询的运行时。GraphQL 对你的 API 中所提供的数据设定了一套统一的、易用的、强大的、可操作的 API,同时对你的应用程序...

    4 年前
  • npm 包 @graphql-toolkit/json-file-loader 使用教程

    简介 在编写 GraphQL 应用程序时,通常需要使用外部数据源来输入或输出数据,常见的数据源包括数据库、API 甚至是本地文件。对于本地文件,前端开发人员通常使用 JSON 格式存储数据,并通过 A...

    4 年前
  • npm包 @graphql-toolkit/url-loader 使用教程

    什么是 @graphql-toolkit/url-loader? @graphql-toolkit/url-loader 是一个 NPM 包,它允许您在运行时从 URL 中加载 GraphQL 页面和...

    4 年前
  • npm 包 eledoc 使用教程

    什么是 eledoc? eledoc 是一个基于 TypeScript 构建的文档生成器,它能够将输入的 TypeScript 代码转换为文档形式,以供开发者参考和使用。

    4 年前
  • npm 包 @balena/es-version 使用教程

    在前端开发中,管理项目依赖是一个不可避免的任务。npm 是现代前端项目最常用的包管理工具之一。在 npm 上,有一个名为 @balena/es-version 的包。本文将介绍如何使用它。

    4 年前
  • npm 包 @balena/lint 使用教程

    简介 在进行前端开发时,代码的正确性、可读性和可维护性都是非常重要的。为了让我们的代码更加规范化,我们可以使用一些工具来帮助我们进行代码的静态检查。其中,@balena/lint 就是一个非常优秀的 ...

    4 年前
  • npm 包 @balena/odata-parser 使用教程

    前言 在前端开发中,OData (Open Data Protocol) 是常用的API 调用协议之一。OData 提供了一套 RESTful API 设计模式,支持进一步的过滤、排序、分组、格式化和...

    4 年前
  • npm 包 @balena/sbvr-types 使用教程

    介绍 在前端开发中,我们经常需要使用不同的包来满足需求。其中,@balena/sbvr-types 是一个非常好的选择,它提供了一种数据类型的建模方式,可以让我们更加方便地对数据进行操作。

    4 年前
  • npm 包 @balena/sbvr-parser 使用教程

    在前端开发中,我们经常需要处理文本数据,并需要对其中的内容进行解析和处理。而 @balena/sbvr-parser 就是一个专门用于解析业务场景语言(SBVR)的 npm 包,它可以让我们轻松地将 ...

    4 年前
  • npm 包 @balena/lf-to-abstract-sql 使用教程

    如果你是一名前端开发人员,那么你一定会使用到各种各样的工具来辅助你的工作。其中一个常见的工具就是 npm,它是一个 Node.js 的包管理器,可以帮助你安装和管理 Node.js 模块。

    4 年前
  • npm 包 @opentelemetry/context-base 使用教程

    前言 在 Web 开发中,前端工程师经常需要监控应用程序的性能和异常,而 OpenTelemetry (OTel) 是一个跨语言的开源项目,为我们提供了一种简单、可扩展和统一的方法来生成、导出和处理分...

    4 年前
  • npm 包 @opentelemetry/core 使用教程

    前言 @opentelemetry/core 是一个用于构建分布式系统、监控和调度的 JavaScript 库。作为开放性业界标准 OpenTelemetry 的核心组件之一,@opentelemet...

    4 年前
  • npm 包 @opentelemetry/resources 使用教程

    前言 在现代化的应用程序或服务中,追踪和监控应用程序的关键性能指标是必要的。OpenTelemetry 是一个开源的框架,用于生成和处理跟踪,指标和日志数据。@opentelemetry/resour...

    4 年前
  • npm 包 @opentelemetry/tracing 使用教程

    介绍 在前端开发中,追踪应用程序的性能和错误是非常重要和必要的。@opentelemetry/tracing 是一个开源的 Node.js 库,它提供了一种可扩展的、可靠的方法来追踪前端应用程序的性能...

    4 年前
  • npm 包 @activeledger/activecontracts 使用教程

    在前端开发中,我们经常需要使用第三方包来实现一些功能。而在区块链开发中,@activeledger/activecontracts 是一个很好用的 npm 包,可以帮助我们实现一些与智能合约相关的操作...

    4 年前
  • npm 包 @ledgerhq/errors 使用教程

    在前端开发中,经常需要处理不同的错误情况。@ledgerhq/errors 是一个 Node.js 的 npm 包,可以用来处理 Ledger 设备上发生的错误。在本篇文章中,我们将详细介绍如何安装和...

    4 年前
  • npm包 @ledgerhq/devices的使用教程

    前言 在前端开发中,随着加密货币的普及,越来越多的应用需要与硬件钱包进行交互。而@ledgerhq设备的npm包,提供了一种便捷的方式,让开发者可以方便地与硬件钱包进行交互。

    4 年前
  • npm 包 @ledgerhq/hw-transport 使用教程

    介绍 @ledgerhq/hw-transport 是一个用于与硬件钱包通信的 npm 包,支持多种类型的硬件钱包,包括 Ledger Nano S,Ledger Nano X等。

    4 年前

相关推荐

    暂无文章