当前位置: 欣欣网 > 码农

每月超1.5亿次下载的前端工具,作者写了一个更强大的替代品!

2024-07-04码农

在 npm 上有一个非常热门的 JS 工具库: dotenv ,其每周下载量高达近 4000 万。这个库已经出现了 11 年,可谓是久经考验,但它也存在一些问题。因此,dotenv 的作者 Mot 重新实现了一个 dotenv 的替代品 —— dotenvx ,并于近日发布了 1.0 版本。本文就来看看 dotenv 有什么问题,以及全新的替代品 dotenvx 又有何优势。

dotenv 是什么?有什么问题?

dotenv 是一种将环境变量从 .env 文件加载到环境中的零依赖模块。它通常用于软件开发中,以便在不同环境(如开发、测试、预发和生产环境)之间管理敏感信息(如 API 密钥等),而无需将这些信息硬编码到代码中。使用 dotenv 可以帮助提高应用的安全性和可移植性。

注意 :虽然 Node.js 20.6 版本已经原生支持了 .env 文件,但现在大多数项目使用的还是低版本的 Node.js,依旧需要借助 dotenv 来实现环境变量的加载。

实际上,知名前端构建工具 Vite 在内部也是使用 dotenv 来实现从 .env 文件中加载变量了。开发者不需要手动调用与 dotenv 相关的东西,Vite 会自动完成所有操作。

那 dotenv 存在什么问题呢?

  • .env 文件泄露风险 .env 文件可能包含敏感信息,如不慎泄露可能导致严重的安全问题。

  • 管理多个环境的复杂性 dotenv 在处理多个环境配置时支持有限,增加了手动管理和出错的复杂性。

  • 跨平台的不一致性 dotenv 在不同操作系统上的行为可能有所不同,可能导致跨平台部署时遇到意外问题。

  • 为了解决这个问题,dotenv 的作者决定开发新一代配置管理工具,dotenvx 由此诞生。

    dotenv 诞生

    dotenvx 是下一代配置管理工具,其从诞生之后就受到了很多开发者的喜爱,目前其每周下载量超 11.6 万。

    dotenvx 的出现就是为了解决 dotenv 中的问题,因此,它具有以下特点:
    1. 跨平台运行

  • 特点:dotenvx 能够在不同的编程语言、框架和平台上以相同的方式工作,确保环境变量在任何环境中都能正确地被注入和使用。

  • 解决的问题:这解决了在不同平台上配置环境变量时可能出现的不一致性问题。

  • 支持多个环境

  • 特点:dotenvx 允许用户创建特定于环境的 .env 文件(例如 .env.production ),并使用 -f 参数来加载它们,使得在不同环境之间切换变得简单和灵活。

  • 解决的问题:这解决了在开发、测试和生产等多个环境之间管理不同配置的问题,避免了环境混淆和配置错误。

  • 加密环境变量

  • 特点:dotenvx 提供了加密功能,允许用户通过简单的命令(如 dotenvx encrypt )来加密 .env 文件中的敏感信息。

  • 解决的问题:通过加密,即使 .env 文件被泄露,没有相应的私钥也无法解密和读取敏感数据,从而显著提高了安全性。

  • 除此之外,deotenvx 支持在多个编程语言和框架中使用: