Como crear un proyecto con Laravel 11, Vue 3, Inertia JS, Vuetify 3 y Vite

Indíce de contenidos

Introducción

Utilizar estas herramientas es altamente recomendable debido a que aprovechan las últimas tecnologías y enfoques de desarrollo web. Laravel 11 proporciona un potente backend con características avanzadas y un flujo de trabajo eficiente. Vue 3, junto con Vuetify 3, brindan un frontend altamente interactivo y con diseño atractivo. Inertia JS simplifica la comunicación entre el front-end y el back-end, permitiendo una experiencia de usuario más fluida. Y ViteJS acelera el desarrollo y la construcción de la aplicación, mejorando significativamente la velocidad de carga. Esta combinación crea un entorno de desarrollo moderno y eficiente que aumenta la productividad y facilita la creación de aplicaciones web de alta calidad.

Instalación

Para comenzar a crear este proyecto lo primero que debes de hacer es instalar Laravel 11, Lo cual lo podremos hacer con este comando

composer create-project laravel/laravel laravel-vue-inertia-vuetify-vite

Una vez que composer haya finalizado la creación del proyecto tendremos que acceder a la carpeta

cd laravel-vue-inertia-vuetify-vite

Ahora debemos instalar las siguientes dependencias 

npm i --save-dev vue
npm i --save-dev vue-loader
npm i --save-dev @inertiajs/vue3
npm i --save-dev @vitejs/plugin-vue
npm i --save-dev vuetify
npm i --save-dev @mdi/js

y el archivo vite.config.js debe quedar de la siguiente manera.

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        vue(),
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
    ],
});

Ahora del lado del servidor necesitaremos instalar lo siguiente con composer

composer require inertiajs/inertia-laravel

Configuración

Lo primero que vamos a hacer es modificar nuestro archivo /resources/js/app.js, y tendrá que contener lo siguiente.

import './bootstrap';

import { createApp, h } from 'vue'
import { createInertiaApp, Link } from '@inertiajs/vue3'
import vuetify from './Plugins/vuetify.js';
import Layout from './Components/Layout.vue';

createInertiaApp({
  resolve: name => {
    const pages = import.meta.glob('./Pages/**/*.vue', { eager: true })

    let page = pages[`./Pages/${name}.vue`]
    page.default.layout = page.default.layout || Layout
    return page
  },
  setup({ el, App, props, plugin }) {
    createApp({ render: () => h(App, props) })
      .use(plugin)
      .use(vuetify)
      .component('Link', Link)
      .mount(el)
  },
})

Ahora necesitaremos inicializar vuetify, por lo que dentro de /resources tenderemos que crear la capeta Plugins y dentro de la capeta plugins tendrá que haber un archivo vuetify.js

import 'vuetify/styles' //Estilos de vuetify
import { createVuetify } from 'vuetify'
import { mdi } from 'vuetify/iconsets/mdi-svg'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'

const vuetify = createVuetify({
    components,
    directives,
    //Indicamos el prefijo por defecto
    //Vueitfy soporta varias bibliotecas de iconos, pero acuparemos mdi
    icons: { 
        defaultSet: 'mdi',
        sets: {
            mdi,
        },
    },
    theme: {
        themes: {
            light: {
                dark: false,
                colors: {
                    //Ejemplo de donde personalizar los colores
                    primary: '#E53935',
                }
            },
        },
    },
})

export default vuetify

Por defecto Inertia establece que las páginas deben de estar en /resources/Pages, por lo que crearemos esta carpeta y dentro de ella crearemos un componente que se llame Inicio.vue, con lo siguiente: 

<template>
  <v-container class="">
    <v-card>
      <v-card-title primary-title> Titulo de la pagina </v-card-title>
      <v-card-text class="mt-10">
        <h1 class="text-h1">Hola mundo</h1>
      </v-card-text>
      <v-card-actions>
        <v-btn text color="primary"> Guardar </v-btn>
      </v-card-actions>
    </v-card>
  </v-container>
</template>

<script>
export default {
  name: "Inicio",
};
</script>

Ahora para que no tengas ningún problema con los estilos de vuetify vamos a añadir un layout que envuelva en los componentes principales que requiere vueitfy 

Este layout lo crearemos dentro de la capeta /resources/js/Components,  y se llamará Layout.vue. Contendrá lo siguiente.

<template>
  <v-app id="inspire">
    <v-navigation-drawer v-model="menu">
      <!--  -->
    </v-navigation-drawer>

    <v-app-bar>
      <v-app-bar-nav-icon @click="menu = !menu">
        <v-icon :icon="mdiMenu" />
      </v-app-bar-nav-icon>

      <v-app-bar-title>Application</v-app-bar-title>
    </v-app-bar>

    <v-main>
      <slot></slot>
    </v-main>
  </v-app>
</template>

<script setup>
  import { mdiMenu } from '@mdi/js'
</script>

<script>
export default {
  name: "Layout",
  data: () => ({
    menu: false
  })
};
</script>

Ahora tendremos que añadir la vista de blade que sirve de envoltorio para inertia

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
    @vite('resources/js/app.js')
    @inertiaHead
  </head>
  <body>
    @inertia
  </body>
</html>

Y en la ruta web añadiremos lo siguiente para que se pueda visualizar nuestro componente

<?php

use Inertia\Inertia;
use Illuminate\Support\Facades\Route;


Route::get('/', function () {
    return Inertia::render('Inicio');
});

Ahora del lado del servidor debemos de ejecutar el siguiente comando para publicar el middleware de inertia 

php artisan inertia:middleware

y en nuestro archivo bootstrap/app.php necesitaremos registrar el middleware dentro del la función callback del método withMiddleware

->withMiddleware(function (Middleware $middleware) {
        $middleware->web(append: [
            \App\Http\Middleware\HandleInertiaRequests::class,
        ]);
    })

Ahora solo necesitaremos ejecutar los siguientes comandos en terminales diferentes 

php artisan serve
npm run dev

Si todo salió bien y nos dirigimos a localhost:8000/inicio tendremos que ver lo siguiente 

Como crear un proyecto con Laravel 11, Vue 3, Inertia JS, Vuetify 3 y Vite

y listo ya hemos terminado. 

Comentarios (40)
PD
pharmacy online drugstore
Publicado a las 17:04, el 19 APR 2025 Responder

An outstanding share! I have just forwarded this onto a colleague who has been conducting a little homework on this. And he in fact bought me lunch due to the fact that I stumbled upon it for him... lol. So allow me to reword this.... Thanks for the meal!! But yeah, thanx for spending time to talk about this issue here on your blog.

JM
JosephMib
Publicado a las 10:05, el 28 MAY 2026 Responder

君はガチで 経験をシェアしてくれてます。あきらめないで! [url=https://iqvel.com/ja/a/%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AA%E3%82%A2/%E3%83%9B%E3%83%BC%E3%82%A8%E3%83%BB%E3%82%BF%E3%82%A6%E3%82%A8%E3%83%AB%E3%83%B3%E5%9B%BD%E7%AB%8B%E5%85%AC%E5%9C%92]高山草原[/url] 「レアスポット」タグ — 看板。

1W
1win_wtkt
Publicado a las 18:09, el 23 SEP 2026 Responder

1win ios версия [url=https://tushtuk.kg/how-to-withdraw-money-from-1win/]1win ios версия[/url]

MO
mostbet_icPr
Publicado a las 04:09, el 24 SEP 2026 Responder

мостбет бонусы для Кыргызстана [url=http://mostbet60059.shop]мостбет бонусы для Кыргызстана[/url]

SE
sevencasino_ouSl
Publicado a las 04:09, el 24 SEP 2026 Responder

seven casino withdrawal to neteller [url=https://rampagedev.com/the-modern-web-on-ageing-hardware-what-still-runs-and-what-breaks/]https://rampagedev.com/the-modern-web-on-ageing-hardware-what-still-runs-and-what-breaks/[/url]

ME
melbet_llot
Publicado a las 12:09, el 24 SEP 2026 Responder

melbet link de acces Moldova [url=https://avtoindent.ru/kak-fotografirovat-dokumenty-i-povrezhdeniya-avto-posle-dtp/]https://avtoindent.ru/kak-fotografirovat-dokumenty-i-povrezhdeniya-avto-posle-dtp/[/url]

ME
melbet_lnEt
Publicado a las 15:09, el 24 SEP 2026 Responder

melbet aplicatie oficiala [url=https://bestia-wm.ru/how-to-photograph-glass-pendant-before-shipping/]melbet aplicatie oficiala[/url]

1W
1win_ybor
Publicado a las 17:09, el 24 SEP 2026 Responder

1win как установить apk [url=https://vzglyadriv.kg/promotion-vs-expected-value-data-separation/]1win как установить apk[/url]

MO
mostbet_fvEa
Publicado a las 18:09, el 24 SEP 2026 Responder

mostbet plinko mərci necə qoyulur [url=https://a-girlwhotravels.com/unexpected-journey-bet-into-trip/]https://a-girlwhotravels.com/unexpected-journey-bet-into-trip/[/url]

ME
melbet_yaOt
Publicado a las 01:09, el 25 SEP 2026 Responder

мелбет удалить аккаунт [url=https://avtobot-24.ru/car-service-work-order-contractor-authority-check/]мелбет удалить аккаунт[/url]

ME
melbet_pbPl
Publicado a las 12:09, el 25 SEP 2026 Responder

мелбет авиатор как играть [url=https://bestia-wm.ru/custom-jewelry-order-form-fields/]https://bestia-wm.ru/custom-jewelry-order-form-fields/[/url]

ME
melbet_kqpt
Publicado a las 12:09, el 25 SEP 2026 Responder

джекпот слоты мелбет [url=https://avto-trash.ru/kak-proverit-bukmekera-pered-stavkoy-na-avtosport/]https://avto-trash.ru/kak-proverit-bukmekera-pered-stavkoy-na-avtosport/[/url]

PI
pinco_yyka
Publicado a las 12:09, el 25 SEP 2026 Responder

pinco azərbaycanda android [url=https://5gxcloudgame.com/]https://5gxcloudgame.com/[/url]

MO
mostbet_grOr
Publicado a las 13:09, el 25 SEP 2026 Responder

зарегистрироваться mostbet [url=https://5app.ru/how-to-withdraw-mostbet-money-in-crypto/]https://5app.ru/how-to-withdraw-mostbet-money-in-crypto/[/url]

MO
mostbet_laSi
Publicado a las 14:09, el 25 SEP 2026 Responder

мостбет зеркало сейчас [url=https://alphastyles.ru/mostbet-slots-mechanics-rtp-volatility-limits/]https://alphastyles.ru/mostbet-slots-mechanics-rtp-volatility-limits/[/url]

MO
mostbet_nfEl
Publicado a las 15:09, el 25 SEP 2026 Responder

акции казино мостбет [url=https://24chistota.ru/mostbet-reviews-and-safety-check/]акции казино мостбет[/url]

CH
chicken-road_hbml
Publicado a las 15:09, el 25 SEP 2026 Responder

chicken road deposito con skrill [url=https://musicsense.org/interactive-music-videos-choosing-beyond-watching/]chicken road deposito con skrill[/url]

MO
mostbet_rvoa
Publicado a las 00:09, el 26 SEP 2026 Responder

мостбет официальный сайт [url=https://ckclub.org/mostbet-asia-risks-laws-player-protection/]https://ckclub.org/mostbet-asia-risks-laws-player-protection/[/url]

PI
pinco_wvmn
Publicado a las 03:09, el 26 SEP 2026 Responder

pinco terminaldan depozit [url=pinco12958.shop]pinco12958.shop[/url]

CH
chicken-road_uxml
Publicado a las 08:09, el 26 SEP 2026 Responder

chicken road live casino [url=https://musicsense.org/interactive-music-videos-choosing-beyond-watching/]https://musicsense.org/interactive-music-videos-choosing-beyond-watching/[/url]

ME
melbet_anMl
Publicado a las 09:09, el 26 SEP 2026 Responder

melbet игровые автоматы [url=https://www.melbet4138.shop]https://www.melbet4138.shop[/url]

MO
mostbet_idpt
Publicado a las 10:09, el 26 SEP 2026 Responder

промокод на фриспины mostbet [url=https://mbuteyko.ru/mostbet-account-deposit-guide/]промокод на фриспины mostbet[/url]

MO
mostbet_hrea
Publicado a las 10:09, el 26 SEP 2026 Responder

мостбет зеркало регистрация [url=https://carmen62.ru/kak-vyvesti-vyigrysh-iz-mostbet/]мостбет зеркало регистрация[/url]

PI
pinco_cmMr
Publicado a las 11:09, el 26 SEP 2026 Responder

pinco az giriş et [url=https://rz-e.com/]https://rz-e.com/[/url]

MO
mostbet_plet
Publicado a las 11:09, el 26 SEP 2026 Responder

mostbet бонус код [url=https://vyatka-auction.ru/auction-rules-vs-independent-review/]https://vyatka-auction.ru/auction-rules-vs-independent-review/[/url]

MO
mostbet_ukoi
Publicado a las 19:09, el 26 SEP 2026 Responder

mostbet android приложение скачать [url=https://mostbet73658.shop]https://mostbet73658.shop[/url]

1W
1win_rspa
Publicado a las 22:09, el 26 SEP 2026 Responder

1win Ош расмий сайт [url=https://www.1win79716.shop]1win Ош расмий сайт[/url]

MO
mostbet_psMr
Publicado a las 22:09, el 26 SEP 2026 Responder

боргирӣ apk mostbet [url=mostbet71901.shop]mostbet71901.shop[/url]

MO
mostbet_kxen
Publicado a las 23:09, el 26 SEP 2026 Responder

mostbet comprovativo de morada [url=mostbet94105.shop]mostbet94105.shop[/url]

OL
olymp_fcKn
Publicado a las 23:09, el 26 SEP 2026 Responder

olymp бишкек [url=https://olymp78009.shop]olymp бишкек[/url]

PI
pinco_ojea
Publicado a las 00:09, el 27 SEP 2026 Responder

пинко установить на android [url=pinco81593.shop]пинко установить на android[/url]

ME
melbet_kaer
Publicado a las 06:09, el 27 SEP 2026 Responder

melbet слоты киргизия [url=www.melbet86050.shop]www.melbet86050.shop[/url]

PI
pinco_lfMa
Publicado a las 12:09, el 27 SEP 2026 Responder

pinco millikart çıxarış [url=http://pinco19991.shop]http://pinco19991.shop[/url]

MO
mostbet_urSl
Publicado a las 12:09, el 27 SEP 2026 Responder

мостбет ссылка на официальный сайт [url=https://5app.ru/how-to-read-in-game-promotion-terms-on-android/]https://5app.ru/how-to-read-in-game-promotion-terms-on-android/[/url]

MO
mostbet_gbet
Publicado a las 12:09, el 27 SEP 2026 Responder

промо акции мостбет [url=https://vyatka-auction.ru/auction-rules-vs-independent-review/]промо акции мостбет[/url]

MO
mostbet_kket
Publicado a las 14:09, el 27 SEP 2026 Responder

mostbet aviator на реальные деньги [url=https://vyatka-auction.ru/auction-rules-vs-independent-review/]https://vyatka-auction.ru/auction-rules-vs-independent-review/[/url]

SE
sevencasino_kgot
Publicado a las 15:09, el 27 SEP 2026 Responder

seven casino gb download [url=https://sevencasino42325.shop]https://sevencasino42325.shop[/url]

MO
mostbet_huSi
Publicado a las 17:09, el 27 SEP 2026 Responder

мостбет официальный сайт зеркало [url=https://alphastyles.ru/mostbet-slots-mechanics-rtp-volatility-limits/]https://alphastyles.ru/mostbet-slots-mechanics-rtp-volatility-limits/[/url]

MO
mostbet_svml
Publicado a las 20:09, el 27 SEP 2026 Responder

mostbet история ставок [url=https://vtkani.ru/oplata-i-vozvrat-deneg-za-tkan/]mostbet история ставок[/url]

PI
pinco_pooa
Publicado a las 00:09, el 28 SEP 2026 Responder

pinco pul çıxarma [url=http://pinco18445.shop]http://pinco18445.shop[/url]

Deja un comentario
arrow-up-bold-circle