Cara Mudah Mengelola dan Mengelompokkan File .env

Cara Mudah Mengelola dan Mengelompokkan File .env

Alih-alih membuat file .env untuk setiap environment, env-cmd memungkinkan Anda mengelopokkan environment variables kedalam satu file saja. Anda juga dapat dengan mudah memilih environment mana yang Akan anda gunakan untuk dijalankan di local-machine Anda — contoh: menjalankan aplikasi di local-machine menggunakan environment production. Dalam artikel ini saya akan menggunakan studi kasus dengan menggunakan ReactJs yang diinstal menggunakan create-react-app.

Installasi Aplikasi

install aplikasi ReactJs dengan create-react-app

npx create-react-app env-cmd-example-on-react

install package env-cmd

npm install env-cmd

Configurasi env-cmd

update srcipt yang ada di package.json

"scripts": {
...
    "start": "env-cmd --file .env.production.local react-scripts start",
...
},

Script diatas bertujuan menjalankan aplikasi di local-machine Anda dengan menggunakan environment production yang Anda simpan di dalam file .env.production.local .

💡 TIPS:

  • Anda dapat menambahkan command fallback seperti script dibawah dengan tujuan mengarahkan aplikasi Anda untuk membaca file .env apabila file .env.production.local tidak ditemukan.
"scripts": {
...
"start": "env-cmd --file .env.production.local --fallback react-scripts start",
...
},
  • Apabila anda ingin secara khusus membuat script untuk menjalankan aplikasi Anda di local-machine dengan menggunakan environment production. Anda dapat menggunakan script sebagai berikut :
"scripts": {
...
"dev:prod": "env-cmd --file .env.production.local --fallback react-scripts start"
...
},

untuk menjalankan aplikasinya anda dapat menggunakan:

npm run dev:prod

Menggelompokan Environment Variabel Dalam Satu File

Buatlah file ./env-cmdrc di root directory. isikan file tersebut dengan scrip dibawah ini

{
  "development": {
    "REACT_APP_NODE_ENV": "development",
    "REACT_APP_BASE_URL": "http://localhost:3000/"
  },
 
  "staging": {
    "REACT_APP_NODE_ENV": "staging",
    "REACT_APP_BASE_URL": "https://your-app-with-env-cmd.staging.com/"
  },
  "production": {
    "REACT_APP_NODE_ENV": "production",
    "REACT_APP_BASE_URL": "https://your-app-with-env-cmd.com/"
  }
}

update srcipt yang ada di package.json

"scripts": {
...
  "start": "env-cmd --environments production --fallback react-scripts start",
...
},

configurasi diatas akan membuat local-machine Anda menjalankan aplikasi Anda di local-machine dengan menggunakan environment production. Anda juga dapat menggantinya dengan menggunakan environment staging menjadi seperti ini :

"scripts": {
...
"start": "env-cmd --environments staging --fallback react-scripts start",
...
},

Sekian, Terimakasi 😊