Node.js: 使用 dotenv 库

本文档属于管理密钥信息指南的一部分。您可以在此处查看完整指南:如何使用 Node.js 管理密钥信息

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供即开即用的 Node.js 云环境,助您高效开发:

  • 只需一次简单的 git push几秒钟即可部署到生产环境,无需额外工具或手动配置。
  • 支持自定义域名,并自动配置 HTTPS 证书,让您的应用安全无忧,无需额外设置。
  • 自动备份一键升级以及可预测的定价,让您专注于功能开发,基础设施交由 Stackhero 托管。
  • 基于专属私有基础设施,保障性能稳定与高水平安全。

节省时间,降低运维负担:只需几分钟,您的应用即可在 Stackhero 的 Node.js 云主机 上运行。

在实际项目中,通常需要管理多个密钥信息。例如,连接数据库时,可能需要主机名、用户名和密码。

管理单个密钥信息很简单,但如果有多个,手动维护会变得很繁琐。想象一下用如下命令启动应用:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com POSTGRESQL_USER=admin POSTGRESQL_PASSWORD=myPassword node app.js

这样很快就会变得难以阅读和维护。在生产环境中,变量可能更多,这种方式就不太可行了。

这时,dotenv 库就能派上用场。

使用 dotenv,您可以将密钥信息存储在一个名为 .env 的独立文件中。

首先,您可以通过以下命令安装 dotenv 库:

npm install dotenv

接下来,创建一个 .env 文件来存放您的变量:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
POSTGRESQL_USER=admin
POSTGRESQL_PASSWORD=myPassword

为了保证密钥信息安全,请确保 .env 文件不会被加入到 Git 仓库。可以通过将其添加到 .gitignore 文件来实现:

echo ".env" >> .gitignore

最后,在 app.js 文件顶部加载 dotenv 库:

require("dotenv").config();

这样配置后,当您在开发环境中使用 node app.js 启动应用时,dotenv 会自动读取 .env 文件。在生产环境中,无需 .env 文件,环境变量会直接从 Node.js 服务配置中获取,您可以通过 Stackhero 控制台进行管理。