Setup environment Express JS yang bersih, aman, dan scalable membutuhkan konfigurasi modular serta pemisahan tegas antara variabel sensitif dan kode sumber utama. Inisialisasi proyek dimulai dari pembuatan direktori kerja, instalasi dependensi esensial seperti express dan dotenv, serta penerapan nodemon untuk otomatisasi proses development di lingkungan lokal.
Lingkungan kerja yang profesional wajib membedakan konfigurasi untuk mode development dan production guna mencegah kebocoran kredensial database maupun token API rahasia. Penggunaan berkas .env yang diabaikan melalui .gitignore adalah standar mutlak pengamanan aplikasi backend modern.
Langkah Demi Langkah Konfigurasi Awal
Ikuti tahapan teknis di bawah ini untuk membangun pondasi proyek Express JS dari nol dengan struktur direktori siap produksi:
- Buat folder proyek baru melalui terminal, lalu masuk ke dalam direktori tersebut:
mkdir express-env-setup cd express-env-setup - Inisialisasi proyek Node JS untuk menghasilkan berkas
package.json:npm init -y - Instal modul utama Express dan dotenv:
npm install express dotenv - Instal nodemon sebagai dev dependency untuk memantau perubahan berkas secara otomatis:
npm install --save-dev nodemon - Buat struktur direktori dasar:
mkdir src touch src/index.js .env .gitignore
Tabel Dependensi dan Fungsi Perintah
| Paket / Perintah | Tipe Instalasi | Fungsi Utama dalam Environment |
|---|---|---|
| express | Dependencies | Framework web minimalis untuk Node JS |
| dotenv | Dependencies | Memuat variabel lingkungan dari berkas .env ke process.env |
| nodemon | Dev Dependencies | Merestart server otomatis saat terjadi perubahan kode |
| npm init -y | Inisialisasi | Membuat berkas manifest package.json secara cepat |
Konfigurasi Berkas dan Skrip Server
Buka berkas .env yang telah dibuat, lalu masukkan konfigurasi dasar port dan mode lingkungan aplikasi:
PORT=3000
NODE_ENV=development
DB_HOST=localhost
DB_USER=root
Tambahkan pengecualian pada berkas .gitignore agar kredensial lokal tidak terdorong ke sistem kontrol versi publik:
node_modules/
.env
.DS_Store
Sesuaikan skrip pada package.json untuk menjalankan mode development menggunakan nodemon dan mode production secara standar:
"scripts": {
"start": "node src/index.js",
"dev": "nodemon src/index.js"
}
Tulis kode inisialisasi server pada src/index.js dengan memanggil modul dotenv di baris paling atas:
require('dotenv').config();
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
app.use(express.json());
app.get('/', (req, res) => {
res.status(200).json({
status: 'success',
message: 'Server Express JS aktif',
environment: process.env.NODE_ENV
});
});
app.listen(PORT, () => {
console.log(`Server berjalan pada port ${PORT} dalam mode ${process.env.NODE_ENV}`);
});
Troubleshooting Masalah Umum Environment
Kendala yang sering muncul saat setup awal adalah variabel process.env bernilai undefined. Hal ini umumnya disebabkan karena pemanggilan require('dotenv').config() diletakkan di bawah pemanggilan modul lain yang membutuhkan variabel tersebut. Pastikan baris konfigurasi dotenv berada pada baris pertama di entry point aplikasi (src/index.js).
Masalah lain berkaitan dengan port yang sudah digunakan oleh proses lain (EADDRINUSE). Selesaikan kendala ini dengan mematikan proses terkait melalui Task Manager atau terminal menggunakan perintah npx kill-port 3000 atau mengganti nilai PORT di dalam berkas .env.