我正在使用一个模板对象映射,其中包含表示对象属性和环境变量名称的键/值对。
作为一个例子......我想拥有以下对象
var template = {
propA: 'ENV_VAR_PROP_A',
propB: 'ENV_VAR_PROP_B',
propC: {
propD: 'ENV_VAR_PROP_D'
}
}
我想使用以下功能
var parseConfig = function (template) {
var config = {};
for(var prop in template){
var key = template[prop];
var val = process.env[key];
if(val) {
config[prop] = val;
}
}
return config;
};
注意上面的函数对我来说不起作用,因为它在属性上不会超过一层。
解析模板的结果应该是一个对象,如下面的
var template = {
propA: '{result of process.env.ENV_VAR_PROP_A}',
propB: '{result of process.env.ENV_VAR_PROP_B',
propC: {
propD: '{result of process.env.ENV_VAR_PROP_D}'
}
}