Laravel0Laravel Blade Hot Refresh With Vite

[ad_1]

The Laravel team updated the first-party Laravel vite-plugin package to support full page reload on blade/arbitrary file changes. Vite will do a full page reload when you edit a blade template (or any other file you configure) that changes. No more manual browser refreshing is required during development!

The basic configuration in your vite.config.js file looks like the following when installing a new Laravel project:

1import { defineConfig } from 'vite';

2import laravel from 'laravel-vite-plugin';

3 

4export default defineConfig({

5 plugins: [

6 laravel({

7 input: [

8 'resources/css/app.css',

9 'resources/js/app.js'

10 ],

11 refresh: true,

12 }),

13 ],

14});

The above snippet is what ships with a brand-new Laravel application; you don’t have to do anything to get hot reloads working on a new project.

Note the refresh config–when set to true, the Laravel Vite plugin will refresh the page when you update a file in the following paths:

1routes/**

2resources/views/**

That convention might work for most projects, but if you want to include other paths or files, you can configure the refresh property:

1import { defineConfig } from 'vite';

2import laravel from 'laravel-vite-plugin';

3 

4export default defineConfig({

5 plugins: [

6 laravel({

7 input: [

8 'resources/css/app.css',

9 'resources/js/app.js'

10 ],

11 refresh: [

12 'resources/routes/**',

13 'routes/**',

14 'resources/views/**',

15 ],

16 }),

17 ],

18});

See Working with Blade & Routes in the official documentation for further details on configuration options.

Try it out

Let’s set up a demo Laravel application to demonstrate hot reloading. First, let’s create a new demo project:

1laravel new blade-hot-reload --git

2cd blade-hot-reload

Once the project is installed, add the following somewhere to the <head/> of the welcome.blade.php file found in resources/views/:

1@vite('resources/js/app.js')

Next, you’ll want to install NPM dependencies and run the dev command:

1npm install

2npm run dev

And that’s it! If you make a change to a blade file or a route, you’ll see something like the following in the console:

Vite page reload console output

Any change you make should reflect immediately, depending on your local development environment setup.

[ad_2]

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *