我正在尝试使用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,
}
};
答案 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
。