Betapa Pentingnya Menambahkan File Environment Di Node.js

Betapa Pentingnya Menambahkan File Environment Di Node.js

Dalam kasus nyata kalian akan sangat membutuhkan file environment untuk menyimpan segala config atau variable rahasia. Kita ambil dalam satu kasus, kalian sedang mengembangkan aplikasi keuangan dan dikerjakan oleh banyak programmer, lalu kalian menyimpan setting koneksi database di file config.js seperti ini:

const config = {
    db: {
      host: "127.0.0.1",
      user: "root",
      password: "123456",
      database: "mangalisting"
    }
  };
  module.exports = config;
config.js

Lalu ketika kalian melakukan commit ke repo projek kalian, lalu di clone oleh programmer lain, tidak ada jaminan programmer lain tidak mengubah config database sesuai dengan settingan database di pc/laptopnya, bayangkan betapa repotnya hal ini, kalian akan melakukan pekerjaan yang sama berulang kali.

Di kasus lain jika kalian hendak memisahkan config database untuk server development dan production, akan sangat beresiko jika kalian harus mengutak-atik code nya langsung. Solusi dari dua kasus ini ialah menggunakan file environment.

Pada artikel ini kita akan memberi contoh penggunaan file environment untuk mengatur settingan database, tetapi di dunia nyata file environment dapat digunakan lebih dari itu, misal untuk menyimpan url API, menyimpan variable API key dari pihak ketiga semisal payment gateway, dan banyak kegunaan lainnya. Intinya dengan adanya file enviroment ini kalian tidak perlu mengutak-atik coding kalian ketika ada settingan yang berubah kedepannya.

Menambahkan File Environtment Koneksi Database Di Node.js

Kita akan menggunakan projek dari tutorial yang sebelumnya kami buat, silahkan cek disini Bangun REST API Pertamamu Dengan Express.js dan MySQL, Studi Case: Direktori Manga.

Pertama kalian harus menginstall dotenv. Buka terminal lalu masuk ke projek kalian lalu ketik:

npm install dotenv --save

ketika instalasi selesai lalu buka file config.js. Lalu ubah menjadi seperti ini.

const dotenv = require('dotenv');
dotenv.config();

const config = {
  db: {
    host: process.env.DATABASE_HOST,
    user: process.env.DATABASE_USERNAME,
    password: process.env.DATABASE_PASSWORD,
    database: process.env.DATABASE_NAME
  }
};
module.exports = config;
config.js

Disini kita akan membuat empat variable environment, yaitu:

  1. DATABASE_HOST = Variable host koneksi database
  2. DATABASE_USERNAME = Variable username database
  3. DATABASE_PASSWORD = Variable password database
  4. DATABASE_NAME = Variable nama database

Selanjutnya silahkan buat file .env di root projek.

DATABASE_HOST="127.0.0.1"
DATABASE_USERNAME="root"
DATABASE_PASSWORD="123456"
DATABASE_NAME="mangalisting"
.env

Silahkan isi file .env tadi sesuai pengaturan database kalian. Nah sekarang coba jalankan projeknya.

Penting!

Disarankan kalian mengabaikan file .env ketika commit ke repo. Kalian dapat menambahkan .env di file .gitignore projek kalian. Namun jika kalian ingin membuat file contoh environment kalian dapat mengubah nama .env kalian menjadi .env.example dan biarkan value dari setiap variable kosong.

DATABASE_HOST=""
DATABASE_USERNAME=""
DATABASE_PASSWORD=""
DATABASE_NAME=""
.env.example
Close

Silahkan Login/Sign Up

😞 Discord eklusif buat member asinkron.com

Jangan khawatir silahkan Daftar GRATIS 😎

*Link discord akan dikirim ke email yang anda gunakan untuk mendaftar.