繁体   English   中英

Linux NodeJs.env 文件中的环境变量

[英]Linux Environment variables in NodeJs .env file

我目前在我的 nodejs 项目和 reactjs 项目中使用 dotenv 库。

我有一个 .env 文件,当我有如下值时可以完美运行

PORT=80
API_URL=https://api.com:8080

但是,我正在尝试使我的 os 环境变量在此文件中可用,例如,如果我在 my.bashrc 文件中有以下内容:

DATABASE_HOST=localhost
DATABASE_PASSWORD=password

是否可以在 .env 文件中打印 os 环境变量? 类似于 Spring 启动 application.properties 文件之类的东西

NODEJS_DB_HOST=${DATABASE_HOST}

任何帮助表示赞赏

我不认为 dotenv 让你这样做。

如果您查看dotenv 的 main.js 文件,它似乎只是根据在 .env 文件中找到的字符串值填充 process.env。 它不会查找这些字符串值以查看它们是否在您的操作系统环境中定义。

您最好的选择可能是只维护一个 .env 文件, 或者通过命令行传递环境变量 - Twilio 有一个很好的例子来说明这一点

终端中的变量已加载到process.env中,您无需将它们添加到.env文件中,因为它们已经在process.env中。 Idk 你想用它实现什么。 :-)

您忘记了在~/.bashrc文件中export

  1. 将变量添加到~/.bashrc
export VARIABLE=value
  1. 重新启动终端或再次加载您的.bashrc
source ~/.bashrc
  1. 打印您的process.env并检查变量是否存在。

也可以查看dotenv-expand: https://www.npmjs.com/package/dotenv-expand

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM