Yesterday, the Laravel team released the vite-plugin. Going forward, Vite will become the standard build tool for Laravel apps. One of the cool features of this Vite integration is that you'll get hot reloading by default.
import laravel from 'laravel-vite-plugin' import {defineConfig} from 'vite' export default defineConfig({ plugins: [ laravel([ 'resources/js/app.js', ]), { name: 'blade', handleHotUpdate({ file, server }) { if (file.endsWith('.blade.php')) { server.ws.send({ type: 'full-reload', path: '*', }); }}, }], }) With this configuration in place, when you now run npm dev, and change a Blade file, your browser will refresh.