【问题标题】:Configure Enviroment Variables For Production Node.JS为生产 Node.JS 配置环境变量
【发布时间】:2019-07-27 16:23:24
【问题描述】:

我正在尝试在 Heroku 上部署我的测试 Express.js 应用程序,使用 GitHub 获取资源,使用 mlab 获取我的数据库。在开发中,当我传递 mLab 连接字符串时,应用程序没有问题,但在生产中......我的生产环境看起来如何?

这是我的config.js

 const env=require('dotenv').config(); 

module.exports = {
    development: {
        port: process.env.PORT|| 3000,
        dbPath: process.env.DB_CONNECTION,
    },
    production: {
        port: process.env.PORT|| 3000,
        dbPath: process.env.DB_CONNECTION_MLAB,
    }
};

【问题讨论】:

  • “在开发应用程序中,当我传递 mLab 连接字符串但在生产环境中时没有问题......”—但在生产环境中...... 什么?您是否收到任何错误消息?如果您不向我们提供任何信息,我们将无法帮助您。请阅读How to Ask

标签: node.js heroku environment-variables


【解决方案1】:

您的.env 文件可能没有(也不应该)在生产中使用。它should be ignored in your Git repository

这意味着您的生产数据库配置需要来自其他地方。如果您使用的是official mLab addon,您可以使用access your connection string via the MONGODB_URI environment variable,插件会自动设置。

如果你没有使用官方插件,你应该set the appropriate environment variable yourself,例如通过

heroku config:set MONGODB_URI=...

无论哪种情况,请确保代码中的环境变量名称与环境中设置的名称相匹配。通常不需要单独的开发和生产变量,因为它们是在不同的环境中设置的。我建议在任何地方都使用MONGODB_URI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 2017-08-31
    • 2018-07-09
    相关资源
    最近更新 更多