基于配置文件的js / Nodejs / ES6配置

时间:2016-10-02 05:50:03

标签: javascript node.js reactjs spring-boot ecmascript-6

我有一个ES6 / js / react UI和Spring启动服务器端的应用程序。在我的config.js中,我有主机服务器URL和其他基于Env更改的属性。我可以使用spring active profile来获取diff属性集。我如何在js部分做类似的事情? 该应用程序部署为带有嵌入式Tomcat的Spring启动应用程序。

提出这个问题的另一种方法是如何在NodeJs / JavaScript世界中使用等效的Spring配置文件?

3 个答案:

答案 0 :(得分:0)

我的建议是使用nodejs创建一个服务器来托管您的静态文件,并充当后端的代理服务器。

最近,我已将this种子用于我的反应项目。我非常喜欢它,它使用webpack构建前端,并为您提供了一个方便的代理服务器,您可以在开发过程中使用它(也可以解决任何CORS问题)。

代理服务器的设置:environments.js

答案 1 :(得分:0)

我和您一样确实需要:如何在spring profile活动环境变量后面使用相同的想法。我使用了process.env:

const profile = process.env.NODEJS_PROFILES_ACTIVE;

我使用Windows和Docker作为环境变量进行了测试。

答案 2 :(得分:0)

我已经实现了以下方法,并且似乎可以正常工作。

设置文件config-dev.js,config-QA.js,config-prod.js。这些文件包含特定于每种环境的配置

Ex config-dev.js

const config_params = {dburl:"mongodb://localhost/mydb", port:5000};
module.exports = config_params

设置文件-config.js,具有以下逻辑

let loadmodule = "./config-" + process.env.profile + ".js";
const setting = require(loadmodule);
module.exports = setting;

在索引文件或server.js中,导入config.js

const config = require('./config.js');

'profile=dev node server.js'的身份启动应用程序