laravel vite | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: laravel vite

Sunday, April 12, 2026

laravel vite

📚 SERI BELAJAR LARAVEL LENGKAP — ARTIKEL 38 DARI 50

Vite di Laravel: Cara Modern
Mengelola Aset Frontend

Dari blade component laravel sampai pipeline aset modern — kenali cara Vite mengubah cara kamu membangun UI di Laravel dan kenapa ini bukan sekadar ganti alat.

#Laravel #Vite #BladeComponent #Frontend #PHP
⏱️ Estimasi baca: 12–15 menit
🎯 Level: Intermediate
📅 Update: 2025

Pernah nggak, kamu lagi asyik ngoding Laravel, terus sadar bahwa setiap kali ubah satu baris CSS, kamu harus refresh manual, tunggu compile, refresh lagi, dan... capek sendiri? Nah, itulah masalah yang coba diselesaikan Vite. Di artikel ke-38 dari seri 50 Artikel Belajar Laravel ini, kita bahas tuntas cara kerja Vite sebagai pengelola aset frontend di Laravel — dan bagaimana hubungannya dengan blade component laravel yang sudah kamu pelajari sebelumnya. Kalau kamu pernah frustasi sama pipeline aset yang lambat dan ribet, artikel ini memang buat kamu.

Definisi Kunci

Vite adalah build tool generasi berikutnya yang super cepat, dikembangkan oleh tim Vue.js. Di Laravel, Vite menggantikan Laravel Mix (yang dulu berbasis Webpack) sejak versi Laravel 9.19+. Vite bekerja dengan native ES modules selama development, sehingga Hot Module Replacement (HMR) bisa terjadi dalam hitungan milidetik — bukan detik.

🚀 Kenapa Vite Menggantikan Laravel Mix?

Bayangkan kamu punya dua kurir pengiriman paket. Kurir pertama (Webpack/Laravel Mix) harus membungkus semua paket, men-sortir semuanya dari awal, baru berangkat — meskipun kamu cuma ubah satu item. Kurir kedua (Vite) hanya ambil item yang berubah, langsung antar — sisanya sudah di tempat tujuan. Jauh lebih efisien, kan?

Secara teknis, Laravel Mix menggunakan Webpack yang memproses seluruh dependency graph setiap kali ada perubahan. Ini oke untuk production build, tapi sangat lambat untuk development. Vite memanfaatkan ES Modules native di browser saat development — artinya browser-lah yang menangani modul-modul tersebut, bukan bundler.

Fitur Laravel Mix (Webpack) Vite (Laravel 9.19+)
Dev Server Start ~10–30 detik ~<1 detik ⚡
HMR (Hot Reload) Lambat (rebundle) Instan (native ESM) ⚡
Konfigurasi webpack.mix.js vite.config.js
Blade Directive @vite tidak ada @vite(['...']) ✅
Production Build npm run prod npm run build
🔥
Fakta Menarik
Vite dibuat oleh Evan You, kreator Vue.js. Saking cepatnya, komunitas JavaScript menjuluki Vite sebagai "the build tool that makes waiting feel wrong." Di proyek besar, Vite bisa lebih cepat 10–100x dibanding Webpack dalam cold start!

🛠️ Setup Vite di Laravel: Step-by-Step dengan Blade Component Laravel

Laravel 10+ sudah include Vite secara default. Tapi mari kita pahami dari awal supaya kamu tahu persis apa yang terjadi di balik layar — dan bagaimana blade component laravel bekerja bersama pipeline aset ini.

1
Install dependency Node.js
Pastikan kamu sudah punya Node.js (≥16) dan npm. Kemudian jalankan perintah berikut di root project Laravel:
# Install semua npm package
npm install

# Cek versi Node.js kamu
node -v
2
Cek file vite.config.js
File ini adalah jantung konfigurasi Vite di Laravel. Berikut isi default-nya:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
  plugins: [
    laravel({
      input: ['resources/css/app.css', 'resources/js/app.js'],
      refresh: true,
    }),
  ],
});
3
Tambahkan direktif @vite di Layout Blade
Ini adalah cara Vite "menyambung" ke blade component laravel dan template HTML-mu:
<!-- resources/views/layouts/app.blade.php -->
<head>
  <meta charset="UTF-8">
  <title>Laravel App</title>
  @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
4
Jalankan Dev Server
Buka dua terminal: satu untuk Laravel, satu untuk Vite:
# Terminal 1 — Laravel dev server
php artisan serve

# Terminal 2 — Vite dev server (HMR aktif!)
npm run dev
💡
Tips Pro
Saat development, npm run dev harus tetap berjalan agar HMR aktif. Kalau kamu cuma punya satu monitor, pakai tmux atau split terminal IDE-mu. Untuk production, cukup jalankan npm run build sekali saja.

🧩 Blade Component Laravel Bertemu Vite: Kolaborasi Terbaik

Salah satu keindahan arsitektur Laravel modern adalah bagaimana blade component laravel dan Vite bekerja secara komplementer. Blade component mengelola struktur HTML dan logika tampilan, sementara Vite mengelola aset CSS dan JavaScript yang dibutuhkan komponen tersebut.

Contoh nyata: kamu punya sebuah blade component untuk tombol. Daripada menulis inline style, kamu bisa gunakan kelas Tailwind atau custom CSS yang diproses Vite, lalu komponen tersebut langsung mendapat manfaat HMR saat kamu mengubah stylenya.

resources/views/components/button.blade.php
<!-- Blade Component: x-button -->
@props(['variant' => 'primary', 'type' => 'button'])

<button
  type="{{ $type }}"
  class="btn btn-{{ $variant }} {{ $attributes->get('class') }}"
  {{ $attributes->except('class') }}
>
  {{ $slot }}
</button>
resources/css/app.css — diproses oleh Vite
/* Styling untuk blade component x-button */
.btn {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.25rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.btn-primary {
  background: #6366f1;
  color: #fff;
}
Insight Penting
Saat kamu mengubah .btn-primary di app.css, Vite akan langsung memperbarui tampilan semua blade component yang menggunakan kelas tersebut — tanpa refresh halaman. Inilah kekuatan HMR!

🔬 Fitur Lanjutan Vite yang Wajib Kamu Tahu

Vite bukan sekadar "pengganti Mix yang lebih cepat." Ada fitur-fitur canggih yang bisa mengubah cara kamu bekerja dengan blade component laravel secara signifikan.

🔍 Analisis: Fitur Unggulan Vite di Laravel
🎨 Integrasi Tailwind CSS
Install @tailwindcss/vite dan konfigurasi di vite.config.js. Tailwind bekerja optimal bersama Vite — purging CSS berjalan otomatis saat build!
⚡ Multiple Entry Points
Kamu bisa mendefinisikan beberapa entry point — misalnya CSS dan JS terpisah per halaman — untuk code splitting yang lebih efisien.
🌍 Alias Path
Gunakan alias seperti @ untuk merujuk ke folder resources/js tanpa path relatif yang panjang.
🔄 Auto Page Refresh
Opsi refresh: true di plugin laravel membuat halaman auto-refresh saat file Blade berubah — mirip browser-sync!
vite.config.js — konfigurasi lanjutan
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
import path from 'path';

export default defineConfig({
  plugins: [
    laravel({
      input: ['resources/css/app.css', 'resources/js/app.js'],
      refresh: true,
    }),
    tailwindcss(),
  ],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'resources/js'),
    },
  },
});
⚠️
Perhatian
Jangan lupa jalankan npm run build sebelum deploy ke production! Tanpa ini, file aset yang di-generate Vite tidak akan tersedia dan halaman-mu akan kehilangan semua CSS/JS. File hasil build masuk ke folder public/build/.
Insight Penting
Selama ini kamu mungkin menganggap pengelolaan aset adalah urusan "setelah coding selesai." Dengan Vite, justru sebaliknya — pipeline aset yang cepat mendorong kamu untuk bereksperimen lebih berani dan iterasi lebih cepat dalam desain blade component laravel-mu.
📝 Kesimpulan
Di artikel ke-38 dari seri 50 Artikel Belajar Laravel ini, kita telah menjelajahi Vite sebagai pengelola aset frontend modern di Laravel. Poin-poin utama yang perlu kamu ingat:

Vite jauh lebih cepat dari Laravel Mix berkat pendekatan native ES modules
Direktif @vite menghubungkan pipeline aset ke template Blade-mu
Blade component laravel dan Vite bekerja sinergis — Blade mengelola struktur, Vite mengelola gaya
HMR membuat proses styling menjadi real-time dan menyenangkan
Selalu jalankan npm run build sebelum deployment!

Kalau artikel ini membantu kamu, tinggalkan komentar di bawah ya! Bagian mana dari Vite yang paling menarik buatmu? Apakah kamu sudah punya pengalaman migrasi dari Laravel Mix ke Vite? Share pengalamanmu — pasti bermanfaat buat pembaca lain yang sedang berjuang di tempat yang sama. 🚀
#Laravel #Vite #BladeComponentLaravel #Frontend #PHP #WebDevelopment #Tutorial
📚 Navigasi Seri — 50 Artikel Belajar Laravel
Artikel Sebelumnya
Artikel 37
Integrasi Tailwind CSS ke Dalam Proyek Laravel
Artikel Selanjutnya
Artikel 39
Membuat RESTful API dengan Laravel: Panduan Lengkap

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux