【问题标题】:Linux Environment variables in NodeJs .env fileNodeJs .env 文件中的 Linux 环境变量
【发布时间】:2020-08-27 11:12:19
【问题描述】:

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

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

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

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

DATABASE_HOST=localhost
DATABASE_PASSWORD=password

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

NODEJS_DB_HOST=${DATABASE_HOST}

感谢任何帮助

【问题讨论】:

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


    【解决方案1】:

    我认为 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。

    【讨论】:

      【解决方案2】:

      终端中的变量已加载到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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-29
        • 1970-01-01
        • 1970-01-01
        • 2018-12-15
        • 2020-09-02
        • 2020-07-27
        • 2018-02-11
        相关资源
        最近更新 更多