Javascript 如何将URI设置为变量,这取决于它是否在生产环境中
目前有一个MERN应用程序正试图部署在heroku上。我通过本地导入一个配置文件来声明mongodb URI,但在heroku上,我设置了heroku配置以使用Javascript 如何将URI设置为变量,这取决于它是否在生产环境中,javascript,mongodb,express,heroku,Javascript,Mongodb,Express,Heroku,目前有一个MERN应用程序正试图部署在heroku上。我通过本地导入一个配置文件来声明mongodb URI,但在heroku上,我设置了heroku配置以使用process.env.mongoURI。设置代码的好方法是什么,以便在本地运行时使用本地配置文件,在heroku中运行时使用heroku配置文件?这就是我目前正在尝试的,但它不起作用 if(process.env){ 常量键=空 }否则{ const keys=require(“./config/keys”) }我是这样做的。我为不同
process.env.mongoURI
。设置代码的好方法是什么,以便在本地运行时使用本地配置文件,在heroku中运行时使用heroku配置文件?这就是我目前正在尝试的,但它不起作用
if(process.env){
常量键=空
}否则{
const keys=require(“./config/keys”)
}
我是这样做的。我为不同的环境创建了不同的配置文件。例如:
我的配置文件:
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才能正常工作。使用process.ENV作为条件参数可能不明智?不太清楚它是什么时候出现的,只要知道它在运行时是可用的,如果有人能抽出一分钟的时间需要帮助的话