2016-03-29 8 views
0

process.env.ENVIRONMENT = DEV2JSON Wertaktualisierung dynamisch mit process.env [node.js]

Eingang JSON:

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

Output JSON:

Basierend auf der process.env .ENVIRONMENT Die Produkt-URLs sollten dynamisch aktualisiert werden.

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

Also, möchten Sie bestimmtes Produkt auf der Grundlage von 'process.env.ENVIRONMENT' erhalten? –

+0

Nein @MukeshSharma, basierend auf dem Argument process.env.ENVIRONEMNT, ich muss die richtige Umgebung URL für das Produkt starten. –

Antwort

0

Ich verstehe richtig, dass Sie w ant, um den Teil der Domain-Namen bis zum Punkt mit Ihrer process.env.ENVIRONMENT Variable zu ersetzen?

Dann sollte der folgende Code funktioniert:

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

Offensichtlich müssen Sie es ändern, wenn es andere Felder als product<n> im base Objekt, oder wenn Sie eine komplexere Ersatz tun müssen.

+0

Ja die process.env.ENVIRONMENT ist eine Variable, Ja, es gibt andere Felder als 'Produkt ' In der Antwort, wir sind Iteration Schlüssel und "/^[^.]+/," ersetzt den Wert ? –

+0

Wir durchlaufen alle Felder des 'base'-Feldes des Objekts, das Sie ändern müssen (was ich 'myJSON' genannt habe). 'replace' ist eine Funktion, die eine Zeichenfolge durch eine andere ersetzt, und' /^[^.]+/ 'ist ein regulärer Ausdruck, der alle Zeichen bis zu einem Punkt abfängt (so dass' dev1' aus 'dev1.awesomeproduct1 entfernt wird .com'). Weitere Informationen zu regulären Ausdrücken finden Sie hier: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions. –

+0

Wenn Sie andere Felder als 'product' haben, die Sie ändern müssen, können Sie die Funktion' match' mit einem regulären Ausdruck verwenden: 'if (key.match (/ product \ d + $ /)) {... do der Ersatz ...} '. In den JS-Dokumenten können Sie mehr über JavaScript-String-Funktionen und reguläre Ausdrücke erfahren (siehe obigen Link). –