Open sidebar
# # install inertiajs # composer require inertiajs/inertia-laravel # # install inertiajs plugins # npm install @inertiajs/inertia @inertiajs/inertia-svelte # # install sveltejs # npm install --save-dev @sveltejs/vite-plugin-svelte # # publish the HandleInertiaRequests middleware # php artisan inertia:middleware # # register the HandleInertiaRequests middleware in your App\Http\Kernel # as the last item in your web middleware group in "app/Http/Kernel.php" # protected $middlewareGroups = [ 'web' => [ // ... \App\Http\Middleware\HandleInertiaRequests::class, ], # # create the "vite.config.js" file # import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import { svelte } from '@sveltejs/vite-plugin-svelte'; export default defineConfig({ plugins: [ laravel([ 'resources/css/app.css', 'resources/js/app.js', ]), svelte(), ], }); # # Edit the "resources/js/app.js" file content # import './bootstrap'; import { Inertia } from "@inertiajs/inertia"; import { createInertiaApp } from '@inertiajs/inertia-svelte'; createInertiaApp({ resolve: name => import(`./Pages/${name}.svelte`), setup({ el, App, props }) { new App({ target: el, props }) }, }); # # create the "resources/views/app.blade.php" file # <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <title inertia>{{ config('app.name', 'Laravel') }}</title> @vite('resources/js/app.js') @inertiaHead </head> <body class="font-sans antialiased"> @inertia </body> </html> # # create a sample svelte page "resources/js/Pages/Svelte.svelte" # <script> export let name; </script> <svelte:head> <title>Svelte Page!</title> </svelte:head> <p>Hello {name}!</p> # # create a sample route in "routes/web.php" file to serve that page # Route::get('/svelte', function () { return \Inertia\Inertia::render('Svelte', [ 'name' => 'world', ]); });
Close sidebar
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting