Escrito por zEOCk hace hace 2 años
Aprende a instalar y configurar estos paquetes con las más recientes actualizaciones paso por paso.
Si no tenemos ya instalado un proyecto Laravel, creamos uno nuevo con el siguiente comando.
Laravel new NombreDelProyecto
npm install vue@next npm install vue-loader@next npm install @vitejs/plugin-vue npm install vue-router --save npm install [email protected] npm install @mdi/font -D npm install npm run dev
Necesitamos agregar algunas líneas de código en este archivo que se encuentra en el raiz de nuestro proyecto Laravel.
import vue from '@vitejs/plugin-vue';
vue(),
Quedaría 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, }), ], });
- Componentes
- plugins
- router
- web
<template>
<div>
<v-card>
<v-layout>
<v-app-bar color="info">
<v-app-bar-nav-icon
@click.stop="drawer = !drawer">
</v-app-bar-nav-icon>
</v-app-bar>
<v-navigation-drawer v-model="drawer" >
<v-list >
<v-list-item v-for="item in items" :to="item.ruta">
{{item.nombre}}
</v-list-item>
</v-list>
</v-navigation-drawer>
</v-layout>
</v-card>
</div>
</template>
<script>
export default {
data () {
return {
items: [
{ nombre: 'Inicio' , icon: 'Foo', ruta:'/' },
{ nombre: 'Contacto' , icon: 'Bar', ruta:'/contacto' }
],
drawer: null,
}
},
}
</script>
import Vue from 'vue'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'
Vue.use(Vuetify)
export default new Vuetify({
theme: {
themes: {
light: {
primary: '#3f51b5',
secondary: '#696969',
accent: '#8c9eff',
error: '#b71c1c',
},
},
},
})
import { createRouter, createWebHistory } from 'vue-router'; const HomeComponent = () => import ('../web/HomeCom.vue'); const ContactoComponent = () => import ('../web/ContactoCom.vue'); const routes=[ { path:'/', name:'home', component:HomeComponent}, { path:'/contacto', name:'contacto', component:ContactoComponent} ]; const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL), routes }); export default router;
Dentro de la carpeta web nos creamos un archivo de nombre App.vue el cual será el punto de entrada de nuestro proyecto, en el cual agregaremos el navbar y el router outlet para acceder a nuestras rutas, quedando de la siguiente manera:
<template>
<div>
<Navbar></Navbar>
<router-view></router-view>
</div>
</template>
<style>
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap'); #app {
font-family: 'Roboto', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
}
.portada{
margin-top: 70px;
}
</style>
Creamos un archivo de nombre ContactoCom.vue dentro de la carpeta web el cual tendrá la siguiente información.
<template>
<div class="portada">
<span>
Este es el Contacto
</span>
</div>
</template>
Este es el home el cual tendrá la información de la página principal:
<template> <div class="portada"> Este es el home </div> </template>
Este archivo es muy importante para nuestro proyecto el cual tendrá la información necesaria para poder usar Vue las rutas y vuetify además de mdi font, en este fichero agregamos lo siguiente.
import './bootstrap';import { createApp } from 'vue/dist/vue.esm-bundler';
import App from './web/App.vue';
import RouterWeb from './router/index'
import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
import NavbarComponent from "@/Componentes/Navbar.vue";
const app = createApp(App);
const vuetify = createVuetify({
components,
directives,
})
app.use(RouterWeb);
app.use(vuetify)
app.component('Navbar', NavbarComponent);
app.mount('#app');
Este archivo es el punto de entrada de nuestro proyecto Laravel en el cual tenemos que agregar Vite y vue, quedando de la siguiente manera:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.bunny.net/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
@vite('resources/css/app.css')
</head>
<body>
<div id="app"></div>
@vite('resources/js/app.js')
</body>
</html>
Y es todo, ahora solamente nos queda iniciar el server si no lo hemos iniciado con npm run serve y listo ya tenemos configurado nuestro proyecto Laravel + Vue 3 + Vite + Vuetify 3.
Etiquetas:
Gusto por las motos Harley Davidson, el rock n roll y la informática, creador de este blog para difusión del conocimiento libre, interesado en el mundo open source.
Fix | Cannot resolve public path | domPDF | Laravel
Compartir y proteger carpeta con usuario y contraseña Windows
Como instalar windows 11 sin una cuenta de hotmail
How to Fix Error TPM Windows 11 Solución
Tutorial | Crea tu pagina web | maquetación de tu sitio en laravel
Como instalar Admin Lte en un proyecto de Laravel con Jetstream