Environment Variables dan Konfigurasinya
Mengelola environment variables dalam proyek kami adalah hal yang penting, namun juga menantang. Proyek ini menggunakan environment variables untuk manajemen konfigurasi, memanfaatkan t3-env untuk environment variables yang type-safe dengan runtime validation. Ketika Anda menambahkan environment variables baru, Anda perlu memperbarui file .env.example
dan file src/env.js
untuk memastikan semuanya berjalan dengan benar.
File Konfigurasi
1. Skema Environment (src/env.js
)
File env.js
mendefinisikan skema dan aturan validasi untuk semua environment variables menggunakan Zod. Ini dibagi menjadi tiga bagian utama:
2. File Environment (.env
)
Buat file .env
pada root utama proyek dengan values yang spesifik pada environment Anda:
Fitur Utama
- Type-Safety: Semua environment variables divalidasi saat build dan runtime
- Runtime Validation: Memastikan aplikasi Anda tidak dibangun dengan environment variables yang tidak valid
- Keamanan Client-Side: Pemisahan yang jelas antara server dan variabel klien
- Nilai Default: Cadangan untuk variabel tertentu ketika tidak disebutkan
- Penanganan String Kosong: String kosong diperlakukan sebagai undefined secara default
Panduan Penggunaan
-
Variabel Server-Side:
- Diakses menggunakan
env.VARIABLE_NAME
- Tidak pernah diekspos ke klien
- Contoh:
env.DATABASE_URL
- Diakses menggunakan
-
Variabel Client-Side:
- Harus diawali dengan
NEXT_PUBLIC_
- Dapat diakses di kode server dan klien
- Contoh:
env.NEXT_PUBLIC_POSTHOG_KEY
- Harus diawali dengan
-
Pengembangan:
- Buat file
.env
lokal berdasarkan.env.example
- Jangan pernah melakukan commit
.env
ke version control - Perbarui skema
env.js
saat menambahkan variabel baru
- Buat file
Contoh Penggunaan
Anda dapat mengakses environment variables pada kode seperti ini: