繁体   English   中英

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

[英]How to set a URI as a variable depending on if it is in production environment or not

当前有一个尝试在heroku上部署的MERN应用程序。 我有通过本地导入配置文件声明的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 } 

这是我的方法。 我为不同的环境创建了一个不同的配置文件。 例如:

我的配置文件:

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才能起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM