NPM Package: Config

Di dunia NodeJS, banyak bertebaran yang namanya npm packages. Sebagian besar open source. Dan seperti kebanyakan open source, tidak semuanya menarik. Salah satu yang menarik perhatian saya adalah config.

config memungkinkan kita untuk membuat file json yang berisi konfigurasi atau biasanya berbentuk kumpulan variable. Sebagai contoh berikut

  "test": {
     "dbUrl": "db://my-db-uri",
     "dbUser": "user",
     "dbPass": "secret"
  }

Untuk bisa menggunakan value pada file konfigurasi tersebut, kita cukup require('config'), kemudian mengakses nilai tersebut menggunakan getter. Supaya config tahu file konfigurasi yang digunakan, kita perlu menyettingnya melalui environment variable dengan nama NODE_CONFIG_DIR. Setelah kita menyetting environment variable tersebut, config akan menggunakan direktory tersebut untuk mencari konfigurasi yang kita maksud.
Contoh penggunaannya, untuk mendapatkan value dari dbUrl, kita bisa menggunakan kode berikut

var config = require('config');

var dbUrl = config.get('test.dbUrl');

dengan cara yang sama, nilai dbUser dan dbPass juga bisa didapatkan.

Selain bisa digunakan untuk mengakses file konfigurasi dengan mudah, config juga bisa digunakan untuk mengakses environment variable. Misal kita memiliki environment variable berikute

my-book:~ user$ env
MONGO_DB_URL=localhost/my-db

kita dapat mengakses environment variable tersebut menggunakan perintah berikut

var dbUrl = config.MONGO_DB_URL;

magic…

Leave a Reply