使用 Deno 管理本地环境变量

阅读时长 4 分钟读完

在前端开发中,我们经常需要管理本地的环境变量。环境变量是一些可以影响我们应用程序行为的键值对,例如不同环境下的 API 地址,数据库连接字符串等。在传统的 Node.js 项目中,我们通常会通过 dotenv 等第三方包来管理环境变量。但是 Deno 的设计理念强调无隐式依赖,这意味着它不提供像 require() 全局命名空间一类的功能,因此我们需要自己来处理本地环境变量。

Deno 的环境变量

Deno 提供了 Deno.env 对象来访问环境变量。这个对象是一个包含所有环境变量的键值对的映射。我们可以使用如下语句来访问环境变量:

需要注意的是,访问环境变量需要给 Deno 运行时传递 --allow-env 权限。

但是这种方式并不能很好的管理环境变量。首先,每次使用环境变量都要从 Deno.env 中获取,非常繁琐。其次,如果我们需要在不同的应用中使用相同的环境变量,那么我们需要在这些应用中分别定义一次。

通过文件来管理环境变量

更好的方式是把环境变量存储到文件中,这样我们可以轻松地引用它们并支持多个应用程序。常见的做法是使用 .env 文件来存储环境变量。

我们可以使用 Deno 内置的 Deno.readTextFileSync() 方法来读取 .env 文件中的环境变量:

-- -------------------- ---- -------
----- --- - ------------------------------
----- --------- - ---------------------------- ----- -- -
  ----- -------- - ----------------
  -- ------------- -
    ---------------- - ----------- - ------------------------- --- - ---
  -
  ------ ----
-- ----
-----------------------

这段代码会将 .env 文件解析为一个键值对的对象,并输出到控制台上。需要注意的是,在 .env 文件中,每一行格式为 KEY=VALUE,可以有多个。

如果想要使用这些环境变量,可以将它们保存到一个全局对象中,比如 globalThis.config

这样可以在应用程序的任何位置使用 config 对象来访问环境变量。

使用 Denon 管理环境变量

在实际开发中,我们可能会遇到需要同时运行多个项目(例如前端和后端),而这些项目又需要使用相同的环境变量。为了避免手动运行多个实例,我们可以使用 Denon 来管理它们。

Denon 是一个类似于 nodemon 的工具,它可以在文件变化时自动重启应用程序并支持多项目运行。

我们可以在 Denon 的配置文件 denon.json 中指定应用程序的环境变量。这个文件应该存在项目的根目录下,例如:

这个配置文件中有一个 scripts 属性,它包含一个 start 命令,定义了应用程序的启动方式。cmd 属性定义了启动命令,env 属性定义了该命令的环境变量。在这个例子中,我们定义了一个名为 DATABASE_URL 的环境变量。

接着,我们可以使用如下命令启动应用程序:

这个命令会自动读取 denon.json 配置文件,并启动应用程序。启动程序时,Denon 会自动将环境变量注入到应用程序中。在应用程序中,我们可以像访问一般的环境变量一样访问它们。

总结

通过本文的学习,我们了解到了如何使用 Deno 管理本地环境变量。我们可以使用内置的 Deno.env 对象或者通过文件来管理环境变量。如果需要多个项目使用相同的环境变量,我们可以使用 Denon 来管理它们。

相信在实际开发中,这些技巧会非常有用。如果你还没有尝试过 Deno 和 Denon,不妨试试看,相信你一定会有惊喜的发现!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648b7c1748841e98949cf61e

纠错
反馈