Javascript 如何将URI设置为变量,这取决于它是否在生产环境中

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”) }我是这样做的。我为不同

目前有一个MERN应用程序正试图部署在heroku上。我通过本地导入一个配置文件来声明mongodb URI,但在heroku上,我设置了heroku配置以使用
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作为条件参数可能不明智?不太清楚它是什么时候出现的,只要知道它在运行时是可用的,如果有人能抽出一分钟的时间需要帮助的话