当前有一个MERN应用程序试图在heroku上进行部署。我通过本地导入配置文件声明了mongodb URI,但是在heroku上,我将heroku设置为使用process.env.mongoURI
。设置代码的好方法是什么,以便在本地运行时使用本地配置文件,而在heroku中运行时使用heroku配置呢?到目前为止,这是我一直在尝试的方法,但没有用。
if (process.env) {
const keys = null
} else {
const keys = require('./config/keys')
}
let db = '';
if (process.env) {
db = process.env.mongoURI
} else {
db = keys.mongoURI
}
答案 0 :(得分:1)
这是我的方法。我为不同的环境创建了一个不同的配置文件。例如:
我的配置文件:
const environment = {};
environment.development = {
mongoURI: 'Your mongo uri',
port: '5000',
secret: "YOUR SECRET"
};
environment.production = {
mongoURI: 'Your mongo uri',
port: 'YOUR PORT',
secret: "YOUR SECRET"
};
var currentEnvironment = typeof(process.env.NODE_ENV) == 'string' ? process.env.NODE_ENV.tolower() : "";
var environmentToExport = typeof(environment[currentEnvironment]) == 'string' ? environment[currentEnvironment] : environment.development;
module.exports = environmentToExport;
您还需要在本地计算机上设置NODE_ENV才能起作用。