Pernahkah Anda secara tidak sengaja mengunggah API Key rahasia atau kredensial database ke repositori publik seperti GitHub? Jika iya, Anda tidak sendirian. Banyak pengembang pemula maupun berpengalaman melakukan kesalahan ini yang berpotensi membahayakan keamanan aplikasi. Solusi terbaik untuk masalah ini adalah dengan menggunakan environment variables. Dalam artikel ini, kita akan membahas secara mendalam tentang tutorial setup environment variables dotenv di react js untuk memastikan aplikasi Anda lebih aman, fleksibel, dan profesional.
Mengelola konfigurasi aplikasi secara hardcoded adalah praktik yang buruk. Bayangkan jika Anda harus mengubah URL API setiap kali berpindah dari lingkungan pengembangan (development) ke lingkungan produksi (production). Dengan mengikuti tutorial setup environment variables dotenv di react js ini, Anda akan belajar cara memisahkan konfigurasi dari kode sumber, yang merupakan salah satu prinsip utama dalam Twelve-Factor App.
Daftar Isi
- Apa Itu Environment Variables?
- Mengapa Menggunakan Dotenv di React JS?
- Persiapan Awal Sebelum Setup
- Tutorial Setup Environment Variables di Create React App (CRA)
- Tutorial Setup Environment Variables di Vite React
- Keamanan: Menggunakan .gitignore dengan Benar
- Mengelola Banyak Lingkungan (Dev, Staging, Prod)
- Best Practices Penggunaan Env Variables
- Troubleshooting: Masalah Umum dan Solusinya
- Kesimpulan dan Langkah Selanjutnya
Apa Itu Environment Variables?
Environment variables adalah variabel dinamis yang nilainya dapat memengaruhi perilaku proses yang berjalan di komputer. Dalam konteks pengembangan web, variabel ini digunakan untuk menyimpan data sensitif atau konfigurasi yang berbeda-beda tergantung di mana aplikasi dijalankan.
Misalnya, saat Anda bekerja di komputer lokal, Anda mungkin menggunakan database lokal. Namun, saat aplikasi di-deploy ke server, aplikasi harus menggunakan database produksi. Tanpa environment variables, Anda harus mengubah kode secara manual setiap kali melakukan deployment. Dengan tutorial setup environment variables dotenv di react js, proses ini menjadi otomatis dan jauh lebih bersih.
Mengapa Menggunakan Dotenv di React JS?
Dotenv adalah modul zero-dependency yang memuat variabel lingkungan dari file .env ke dalam process.env. Meskipun React modern (seperti yang dibuat dengan Create React App atau Vite) sudah memiliki dukungan bawaan untuk environment variables, memahami konsep dasar dotenv sangat penting.
Penggunaan variabel lingkungan memberikan beberapa keuntungan utama:
- Keamanan: Menghindari kebocoran API Key atau token rahasia ke publik.
- Portabilitas: Memudahkan aplikasi untuk dijalankan di berbagai lingkungan tanpa mengubah kode.
- Efisiensi: Mempercepat proses CI/CD (Continuous Integration/Continuous Deployment).
Persiapan Awal Sebelum Setup
Sebelum memulai tutorial setup environment variables dotenv di react js, pastikan Anda telah menginstal beberapa hal berikut di komputer Anda:
- Node.js: Versi terbaru (LTS direkomendasikan).
- Package Manager: NPM atau Yarn.
- Project React: Proyek yang dibuat dengan Create React App (CRA) atau Vite.
Jika Anda belum memiliki proyek React, Anda bisa membuatnya dengan perintah sederhana: npx create-react-app my-app atau npm create vite@latest.
Tutorial Setup Environment Variables di Create React App (CRA)
Jika Anda menggunakan Create React App, prosesnya sangat mudah karena CRA sudah mendukung dotenv secara out-of-the-box. Namun, ada aturan ketat yang harus diikuti.
Langkah 1: Membuat File .env
Buatlah sebuah file bernama .env di direktori utama (root) proyek Anda (sejajar dengan package.json). Jangan letakkan di dalam folder src.
Langkah 2: Menambahkan Variabel
Dalam file .env, tambahkan variabel Anda. Penting untuk diingat bahwa di CRA, semua variabel harus diawali dengan REACT_APP_ agar dapat diakses di frontend.
REACT_APP_API_URL=https://api.websiteanda.com
REACT_APP_SECRET_KEY=1234567890
Langkah 3: Mengakses Variabel di Kode React
Anda bisa mengakses variabel tersebut menggunakan objek process.env di dalam komponen React Anda.
const apiUrl = process.env.REACT_APP_API_URL;
function App() {
console.log("URL API:", apiUrl);
return <div>Cek konsol untuk melihat URL API!</div>;
}
Penting: Setiap kali Anda mengubah file
.env, Anda harus menghentikan server pengembangan (Ctrl+C) dan menjalankannya kembali dengannpm startagar perubahan terbaca.
Tutorial Setup Environment Variables di Vite React
Vite saat ini menjadi standar industri baru karena kecepatannya. Cara kerja environment variables di Vite sedikit berbeda dengan CRA, namun tetap menggunakan prinsip dotenv.
Langkah 1: Membuat File .env
Sama seperti CRA, buat file .env di root folder proyek Vite Anda.
Langkah 2: Naming Convention di Vite
Berbeda dengan CRA, Vite mewajibkan awalan VITE_ untuk variabel yang ingin diekspos ke klien.
VITE_API_URL=https://api.vitedev.com
VITE_ANALYTICS_ID=UA-999999
Langkah 3: Mengakses Variabel di Vite
Vite tidak menggunakan process.env, melainkan import.meta.env. Ini adalah standar modul ES yang lebih modern.
function App() {
const apiUrl = import.meta.env.VITE_API_URL;
return <h1>API URL: {apiUrl}</h1>;
}
Keamanan: Menggunakan .gitignore dengan Benar
Ini adalah bagian terpenting dari tutorial setup environment variables dotenv di react js. File .env TIDAK BOLEH diunggah ke Git. File ini berisi rahasia yang hanya boleh ada di mesin lokal Anda atau di server produksi yang aman.
Pastikan Anda menambahkan baris berikut di file .gitignore Anda:
# environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
Sebagai gantinya, buatlah file bernama .env.example yang berisi nama variabelnya saja tanpa nilai aslinya. Ini akan membantu pengembang lain mengetahui variabel apa saja yang perlu mereka siapkan.
# .env.example
REACT_APP_API_URL=
REACT_APP_SECRET_KEY=
Mengelola Banyak Lingkungan (Dev, Staging, Prod)
Dalam proyek skala besar, satu file .env tidaklah cukup. Anda mungkin membutuhkan konfigurasi berbeda untuk setiap tahap pengembangan. Berdasarkan dokumentasi resmi, Anda bisa menggunakan beberapa file:
.env: Default..env.local: Untuk override lokal (diabaikan oleh Git)..env.development: Digunakan saat menjalankannpm start..env.production: Digunakan saat menjalankannpm run build.
Sistem akan memprioritaskan file yang lebih spesifik. Misalnya, jika Anda berada di mode development, variabel di .env.development akan menimpa variabel di .env.
Best Practices Penggunaan Env Variables
Agar tutorial setup environment variables dotenv di react js ini benar-benar bermanfaat, berikut adalah beberapa praktik terbaik yang harus Anda terapkan:
- Jangan Simpan Rahasia Super Sensitif: Ingatlah bahwa apapun yang diawali dengan
REACT_APP_atauVITE_akan dibundel ke dalam file JavaScript publik. Jangan menyimpan private key database atau secret key server di sini. Gunakan backend untuk menyembunyikan logika tersebut. - Gunakan Nama yang Deskriptif: Gunakan format SNAKE_CASE yang jelas, seperti
VITE_FIREBASE_API_KEY. - Validasi Variabel: Pertimbangkan untuk menggunakan library seperti
zodatauenvaliduntuk memastikan semua variabel yang dibutuhkan sudah ada sebelum aplikasi dijalankan. - Dokumentasikan File .env: Selalu sertakan
.env.exampleagar tim Anda tidak bingung saat pertama kali menjalankan proyek.
Troubleshooting: Masalah Umum dan Solusinya
Seringkali pengembang menemui kendala meskipun sudah mengikuti tutorial setup environment variables dotenv di react js dengan benar. Berikut adalah solusinya:
| Masalah | Solusi |
|---|---|
| Variabel bernilai undefined | Pastikan sudah menggunakan prefix (REACT_APP_ atau VITE_) dan sudah merestart server. |
| Perubahan di .env tidak muncul | Matikan terminal, lalu jalankan kembali perintah run/start. |
| File .env terunggah ke GitHub | Gunakan git rm –cached .env, tambahkan ke .gitignore, lalu commit ulang. |
Kesimpulan dan Langkah Selanjutnya
Menguasai tutorial setup environment variables dotenv di react js adalah langkah krusial menuju pengembangan aplikasi yang profesional dan aman. Dengan memisahkan konfigurasi dari kode, Anda tidak hanya melindungi data sensitif tetapi juga membuat aplikasi lebih mudah dipelihara di berbagai lingkungan.
Ringkasan langkah yang telah kita pelajari:
- Membuat file
.envdi root folder. - Menggunakan prefix
REACT_APP_untuk CRA atauVITE_untuk Vite. - Mengakses variabel via
process.envatauimport.meta.env. - Selalu menambahkan
.envke.gitignore.
Sekarang, cobalah untuk mengimplementasikan hal ini pada proyek React Anda. Jika Anda ingin meningkatkan keamanan lebih lanjut, pelajari cara mengelola secrets pada platform deployment seperti Vercel, Netlify, atau Docker.
Semoga tutorial ini bermanfaat bagi perjalanan coding Anda. Selamat mencoba!