【问题标题】:Setting long environmental variables in nodejs在nodejs中设置长环境变量
【发布时间】:2016-11-15 12:54:23
【问题描述】:

在将部署到 heroku 的节点服务器上,我必须从环境变量中加载一个长私钥。当我以传统方法在 .env 文件中声明我的环境变量时(key=value,如果 value 很长,则没有换行符),在本地运行它(通过'heroku local')并 console.log 加载的环境变量值,控制台显示它已被分成几行(但不在 '\n' 字符周围)。

从环境变量中加载字符串:

在将字符串硬编码到服务器时加载字符串,控制台日志显示:

我切换到工头来加载环境变量并使用 JSON 语法让它工作。我的问题是,在传统方法上,为什么控制台显示字符串被拆分?

加载 long 值,因为 Firebase 3 SDK 初始化需要此值,因为 Heroku 不允许您加载私钥文件本身。

【问题讨论】:

  • 看起来你的一个终端设置为换行,而另一个没有。我建议朝那个方向搜索,因为这不太可能与记录的代码有太大关系。
  • 谢谢。该输出来自同一个终端。在我的服务器上,我 console.log 加载的环境变量和硬编码的字符串,只是为了比较。

标签: node.js heroku firebase environment-variables


【解决方案1】:

对于本地开发,解决方案是使用Node-Foreman 启动服务器,并通过node-foreman 实用程序从.env 文件中加载环境变量。对环境变量使用 JSON 格式(不是 key=value 格式)。 JSON 用法在文档中进行了描述。

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2021-04-28
    • 2018-07-13
    • 2011-03-25
    • 2015-02-01
    • 2017-01-01
    相关资源
    最近更新 更多