csomópont.js legjobb gyakorlatok-a konfigurációs fájlok és változók kezelésének intelligensebb módjai

márc 24, 2018 * 3 perc olvasás

megtalálom a külön csomópont létrehozásának gyakorlatát.js config fájlok kezelésére config változók különböző környezetekben (fejlesztés, tesztelés, staging és a termelés) nehézkes.

tehát egy olyan megoldással végeztem, amely egyetlen csomóponttal kezeli az összes környezet konfigurációs változóit.js konfigurációs fájl.

először hozzunk létre konfigurációt.json a root / config mappában, mint az alábbiakban. Az ötlet az, hogy a fejlesztés az alapértelmezett környezet, amely tartalmazza az összes konfigurációs változót. Csak akkor ismételheti meg a konfigurációs változókat más környezetekben, ha felül kívánja bírálni az alapértelmezett fejlesztői környezetben található alapértelmezett konfigurációs változó értékeket.

mint látható, a tesztelési, átmeneti és termelési környezetek mind felülírják a config_id és az adatbázis konfigurációs változóit. Az átmeneti és termelési környezetek felülírják a node_port konfigurációs változót is.

ezután írjunk néhány kódot a tényleges logika megvalósításához. Config létrehozása.js a root / config mappában, mint az alábbiakban. Ez a kód:

  1. beolvassa a root/config-ban található JSON-t.json fájl.
  2. beállítja az alapértelmezett konfigurációt a config-ben található fejlesztési csomópontra.json.
  3. Beállítja a környezeti konfigurációt a megfelelő környezeti csomópontra, amely megtalálható a konfigurációban.json a node_env környezeti változó értékén alapul(amely maga alapértelmezés szerint a fejlesztés, ha null).
  4. a lodash egyesítési metódusának meghívásával beállítja a végső konfigurációt az alapértelmezett és a környezeti konfiguráció egyesüléséhez.
  5. Beállítja a gconfig globális változót a végső konfiguráció értékével.
  6. naplózza a gConfig értékét.

végül hozzunk létre root / szervert.js, hogy tesztelje mindezt egy böngészőben. Az alábbi kód magától értetődő. Tesztelje a node_env környezeti változó különböző értékeinek beállításával.

és itt van néhány screenshotok tesztelés beállításával a node_env környezeti változó szerver.js a fejlesztéshez és a staginghez. Láthatja, hogy az átmeneti környezetben az app_name, az app_desc és a json_indentation értékei nem változnak, és a fejlesztői környezetből kerülnek felvételre, ahol a config_id, a node_port és az adatbázis értékei felül vannak írva.

Log kimenet fejlesztési környezet

böngésző kimenet fejlesztői környezethez

Log kimenet staging környezet

böngésző kimenet staging környezet

lehet klón / letöltés fenti kódot Az én GitHub repository itt.

bónuszként semmi sem akadályozza meg a titkokat, például az API kulcsokat vagy a jelszavakat a konfigurációban.json. Egyszerűen titkosítsa nyugalmi állapotban, mielőtt a forrástárba nyomná egy olyan vállalati szintű titkosítási megoldás segítségével, mint a Google Cloud Platform Cloud Key Management Service (KMS). És visszafejteni után minden telepítési segítségével a kedvenc CI / CD eszköz.

nézze meg blogbejegyzésemet a Google Cloud Platform Cloud Key Management Service (kms) használatával a titkok titkosításához / visszafejtéséhez további információkért.

Boldog Kódolást!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.