为生产Node.JS配置环境变量

时间:2019-07-27 16:23:24

标签: node.js heroku environment-variables

我正在尝试使用GitHub作为资源和针对数据库的mlab在Heroku上部署我的测试Express.js应用程序。在开发中,当我传递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,
    }
};

1 个答案:

答案 0 :(得分: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