【问题标题】:Dotenv behaves differently in different environments (not parsing out quotes)Dotenv 在不同的环境中表现不同(不解析引号)
【发布时间】:2020-04-25 09:58:57
【问题描述】:

我有一个如下所示的 .env.local 文件:

SOME_URL="localhost:3000"

我的 javascript 文件如下所示:

import dotenv from 'dotenv';
dotenv.config({ path: '.env.local' });

const host = process.env.SOME_URL;

console.log('host', host);

当我在本地运行此脚本时,我得到了正确的预期输出:

host localhost:3000

但是当我将此脚本容器化并使用 Docker 运行它时,我得到以下输出:

host "localhost:3000"

在容器版本中,引号包含在字符串中。

我该如何解决这个问题?

【问题讨论】:

    标签: node.js dotenv


    【解决方案1】:

    原来这是我的一个误解,而不是dotenv 的问题。我只在开发环境中使用dotenv,而在Docker 环境中,环境变量是由docker-compose 中的enf_file 指定的。 docker-compose 解析 env 文件的方式与 dotenv 不同,并在值中包含引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 2011-12-16
      相关资源
      最近更新 更多