Episode ini memandu kalian membuat aplikasi React dengan Vite, memahami struktur proyek modern seperti src, public, dan package.json, menjalankan dev server dengan live reload, serta mengonfigurasi ESLint, Prettier, dan gitignore untuk kualitas kode.

Teori di episode 2 sudah cukup. Sekarang kalian akan membangun proyek React sungguhan dan memahami setiap bagiannya. Episode 3 fokus pada satu hal yang sering diabaikan: struktur proyek yang rapi dan tooling yang benar sejak hari pertama.
Kalian akan membuat proyek dengan Vite, membedah arti setiap folder dan file, menjalankan dev server dengan live reload, lalu memasang ESLint, Prettier, dan gitignore agar proyek bersih. Awal yang baik di episode ini akan menyelamatkan kalian dari banyak sakit kepala di episode 19-20.
Create React App masih menjadi pilihan populer, tapi tim React sendiri merekomendasikan Vite karena lebih cepat dan ringan. Mulai dengan:
npm create vite@latest my-app -- --template react
cd my-app
npm install
npm run devSetelah npm run dev, Vite menampilkan http://localhost:5173 dan halaman boilerplate terbuka di browser. Jika kalian mengubah isi src/App.jsx dan menyimpannya, browser langsung memperbarui tampilan tanpa reload manual — inilah live reload yang dijanjikan.
Mari bedah struktur yang dihasilkan Vite:
my-app/
├── index.html
├── package.json
├── vite.config.js
├── eslint.config.js
├── .gitignore
├── public/
│ └── vite.svg
└── src/
├── main.jsx
├── App.jsx
├── App.css
└── index.cssindex.html adalah satu-satunya file HTML yang disajikan server. Di dalamnya ada <div id="root"> yang menjadi tempat React menempel:
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>Folder public/ menyimpan aset statis seperti gambar logo dan favicon, disalin apa adanya ke hasil build. package.json berisi daftar dependency dan script. Cek bagian scripts-nya:
npm runOutput npm run menampilkan semua script yang tersedia: dev, build, lint, dan preview. Masing-masing dijalankan dengan npm run <nama>.
Semua kode aplikasi tinggal di src/. src/main.jsx adalah titik masuk yang menempelkan React ke DOM:
import ReactDOM from "react-dom/client"
import App from "./App.jsx"
ReactDOM.createRoot(document.getElementById("root")).render(
<App />
)Perintah ReactDOM.createRoot(document.getElementById("root")).render(...) mencari elemen root di index.html lalu merender komponen App ke dalamnya. App.jsx adalah komponen akar yang berisi seluruh halaman.
npm run dev menjalankan dev server dengan dua fitur utama: HMR (Hot Module Replacement) yang memperbarui modul yang berubah tanpa kehilangan state, dan error overlay yang menampilkan kesalahan langsung di browser. Biasakan alur ini:
edit kode -> simpan -> browser ter-update -> cek di React DevToolsBuka tab browser lalu coba ubah teks <h1> di App.jsx. Perhatikan bagaimana browser bereaksi tanpa reload — inilah alur kerja React modern.
Vite sudah menyertakan ESLint di eslint.config.js. Untuk format kode yang konsisten, tambahkan Prettier:
npm install -D prettierBuat file .prettierrc di akar proyek dengan isi:
{
"semi": false,
"singleQuote": true,
"trailingComma": "es5"
}Konfigurasi { "semi": false, "singleQuote": true } mematikan titik koma dan memakai tanda kutip tunggal — gaya yang konsisten dengan contoh kode di series ini. Di VS Code, aktifkan Format on Save agar Prettier merapikan kode otomatis.
ESLint dari Vite sudah mengatur beberapa aturan. Jalankan:
npm run lintTanpa error, output hanya menampilkan pesan sukses. Coba tambahkan const x = 1 yang tidak dipakai untuk melihat ESLint bereaksi dengan peringatan is defined but never used.
.gitignore bawaan Vite sudah mencakup node_modules, dist, log, dan file environment. Pastikan file environment seperti .env.local tetap ter-ignore — di episode 20 kita akan melihat kenapa ini penting untuk keamanan.
Tip
Inisialisasi Git di awal proyek dengan git init. Commit di tiap akhir episode kecil — Git history yang rapi membuat kalian bebas bereksperimen karena selalu bisa kembali ke kondisi sebelumnya.
Episode 3 membangun dan merapikan proyek React pertama: scaffold Vite, struktur src, public, dan package.json, alur dev server dengan live reload, plus konfigurasi ESLint, Prettier, dan gitignore. Sekarang kalian punya panggung yang bersih untuk mulai menulis UI.
Inti yang harus dibawa pulang:
npm create vite@latest my-app -- --template react.index.html memuat #root, main.jsx menempelkan React ke DOM.src/ berisi kode aplikasi; public/ berisi aset statis.npm run dev memberi live reload; npm run build menghasilkan build production.Di episode 4 selanjutnya kita akan membuat component & JSX — menulis komponen fungsional, sintaks JSX dengan ekspresi JavaScript, styling dengan CSS Modules dan styled-components, serta pola composition lewat props dan children. Sekarang saatnya mulai merancang UI.