Vite with Laravel: Auto-refresh Blade views
We're up and running, but there's another Laravel-specific quality of life improvement we can make: auto-refreshing when a Blade file changes.
To do this, we'll write a simple Blade plugin right inside the Vite configuration.
I didn't write this plugin myself, this is an except from innocenzi/laravel-vite.
The plugin listens to changes in .blade.php
files, and does a full reload when they change.
// vite.config.jsexport default ({ command }) => ({ base: command === 'serve' ? '' : '/build/', outDir: 'public/build', publicDir: 'fake_dir_so_nothing_gets_copied', build: { manifest: true, rollupOptions: { input: 'resources/js/app.js', }, }, plugins: [ { name: 'blade', handleHotUpdate({ file, server }) { if (file.endsWith('.blade.php')) { server.ws.send({ type: 'full-reload', path: '*', }); } }, } ],});
Vite with Laravel
- Up and running
- Auto-refresh Blade views
- Using Tailwind CSS
- Using Vue.js
- Using React
- Using TypeScript
- Using Inertia.js