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

时间:2020-05-11 19:26:22

标签: node.js linux spring-boot environment-variables dotenv

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

我有一个.env文件,当我具有如下所示的值时,它可以完美工作

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

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

DATABASE_HOST=localhost
DATABASE_PASSWORD=password

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

NODEJS_DB_HOST=${DATABASE_HOST}

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我认为dotenv不能让您这样做。

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

您最好的选择是维护一个.env文件or to pass environment variables through the command line - Twilio has a nice example that illustrates this

答案 1 :(得分:0)

来自终端的变量已加载到process.env,您无需将它们添加到.env文件中,因为它们已经在process.env中。了解您要使用它实现的目标。 :-)

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

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

您还可以检查dotenv-expand:https://www.npmjs.com/package/dotenv-expand