简体   繁体   English

JSON值使用process.env [node.js]动态更新

[英]JSON value update dynamically with process.env [node.js]

process.env.ENVIRONMENT = dev2 process.env.ENVIRONMENT = dev2

Input JSON: 输入JSON:

{
   "base": {
       "product1" : "dev1.awesomeproduct1.com",
       "product2" : "dev1.awesomeproduct2.com"
   }
}

Output JSON: 输出JSON:

Based on the process.env.ENVIRONMENT the product urls should be updated dynamically 根据process.env.ENVIRONMENT,产品网址应动态更新

{
    "base": {
         "product1" : "dev2.awesomeproduct1.com",
         "product2" : "dev2.awesomeproduct2.com"
     }
}

Do I correctly understand that you want to replace the part of the domain names up to the dot with your process.env.ENVIRONMENT variable? 我是否正确理解您要使用process.env.ENVIRONMENT变量替换部分域名,直到process.env.ENVIRONMENT点?

Then the following code should work: 然后下面的代码应该工作:

for (key in myJSON.base) {
  myJSON.base[key] = myJSON.base[key].replace(/^[^.]+/, process.env.ENVIRONMENT);
}

Obviously, you will need to amend it if there are other fields than product<n> in the base object, or if you need to do a more complex replacement. 显然,如果base对象中除了product<n>之外还有其他字段,或者需要进行更复杂的替换,则需要对其进行修改。

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

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