CursosEmpresasBlogLiveConfPrecios

Jetstream: personalización

Clase 7 de 20 • Curso de Single Page Applications en Laravel con Inertia y Vue.js

Contenido del curso

Introducción

  • 1
    Cómo aprenderás a crear SPAs en Laravel

    Cómo aprenderás a crear SPAs en Laravel

    02:29 min
  • 2
    Introducción a Jetstream

    Introducción a Jetstream

    03:38 min

Proyecto

  • 3
    Conoce qué SPA vas a construir

    Conoce qué SPA vas a construir

    03:59 min
  • 4
    Configuración inicial

    Configuración inicial

    09:58 min
  • 5
    Sistema basado en componentes

    Sistema basado en componentes

    04:29 min
  • 6
    Jetstream: configuración inicial

    Jetstream: configuración inicial

    09:03 min
  • 7
    Jetstream: personalización

    Jetstream: personalización

    Viendo ahora
  • 8
    Listado de notas: configuración inicial

    Listado de notas: configuración inicial

    07:38 min
  • 9
    Listado de notas: personalización

    Listado de notas: personalización

    06:12 min
  • 10
    Vista detalle de nota

    Vista detalle de nota

    07:11 min
  • 11
    Formulario de editar

    Formulario de editar

    08:46 min
  • 12
    Código de actualizar

    Código de actualizar

    06:55 min
  • 13
    Formulario de crear

    Formulario de crear

    06:40 min
  • 14
    Código de guardar

    Código de guardar

    04:33 min
  • 15
    Función de eliminar

    Función de eliminar

    05:12 min
  • 16
    Flash message

    Flash message

    07:51 min
  • 17
    Buscador

    Buscador

    09:42 min

Conclusión

  • 18
    Repaso final

    Repaso final

    03:31 min
  • 19
    Despedida

    Despedida

    03:21 min
  • 20
    Clase bonus: nunca parar de aprender

    Clase bonus: nunca parar de aprender

    01:33 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Carlos Eduardo Gomez García

      Carlos Eduardo Gomez García

      teacher•
      hace 5 años
        Tony Manuel Ojeda Vela

        Tony Manuel Ojeda Vela

        student•
        hace 5 años
        Enrique Gamboa

        Enrique Gamboa

        student•
        hace 5 años
      María Sierra

      María Sierra

      student•
      hace 5 años
        Jimmy Buriticá Londoño

        Jimmy Buriticá Londoño

        student•
        hace 5 años
        Omar Villafuerte

        Omar Villafuerte

        student•
        hace 5 años
      Jorge Bou-saad

      Jorge Bou-saad

      student•
      hace 3 años
        Cristobal Nyram

        Cristobal Nyram

        student•
        hace 3 años
      Manuel Ojeda

      Manuel Ojeda

      student•
      hace 5 años
      Nelson Junior Moncada Pirela

      Nelson Junior Moncada Pirela

      student•
      hace 4 años
        Cristobal Nyram

        Cristobal Nyram

        student•
        hace 3 años
      Santiago Velásquez Serna

      Santiago Velásquez Serna

      student•
      hace 2 años
      Mauricio Acevedo Rueda

      Mauricio Acevedo Rueda

      student•
      hace 3 años
      Jairo Niño

      Jairo Niño

      student•
      hace 4 años
      Brian Sánchez Izquierdo

      Brian Sánchez Izquierdo

      student•
      hace 5 años
      Luis Humberto Osorio Quiceno

      Luis Humberto Osorio Quiceno

      student•
      hace 4 años
        Kenneth Angulo L

        Kenneth Angulo L

        student•
        hace 3 años
      David Quelal

      David Quelal

      student•
      hace 4 años
        Kenneth Angulo L

        Kenneth Angulo L

        student•
        hace 3 años
      Bryan Ramon Useche Tapias

      Bryan Ramon Useche Tapias

      student•
      hace un año
      Eduardo José Bastos

      Eduardo José Bastos

      student•
      hace 3 años
      Jorge Bou-saad

      Jorge Bou-saad

      student•
      hace 3 años
      Jorge Bou-saad

      Jorge Bou-saad

      student•
      hace 3 años
      Celso Ccoropuna Salas

      Celso Ccoropuna Salas

      student•
      hace 5 años
        Kenneth Angulo L

        Kenneth Angulo L

        student•
        hace 3 años
      Fernando Dodero

      Fernando Dodero

      student•
      hace 5 años
        Carlos Eduardo Gomez García

        Carlos Eduardo Gomez García

        teacher•
        hace 5 años
        Fernando Dodero

        Fernando Dodero

        student•
        hace 5 años
      Brian Sánchez Izquierdo

      Brian Sánchez Izquierdo

      student•
      hace 5 años
        Carlos Eduardo Gomez García

        Carlos Eduardo Gomez García

        teacher•
        hace 5 años
        Brian Sánchez Izquierdo

        Brian Sánchez Izquierdo

        student•
        hace 5 años
      Jose Alejandro Gonzalez Rondon

      Jose Alejandro Gonzalez Rondon

      student•
      hace 5 años
        Juan David Gonzalez Revelo

        Juan David Gonzalez Revelo

        student•
        hace 5 años

      Fun fact: Cuando empecé a trabajar con Laravel Mix y Vue, noté que efectivamente la compilación de los assets tardaba demasiado en la computadora que tenía en el trabajo (una mac), así que llamé a mi jefe y le dije: "Mira, esto se está tardando demasiado en compilar" así que le puse un cronómetro desde que inició hasta que terminó de compilar, casi un minuto, y le dije: "Esto tengo que hacerlo por cada cambio, ¿sabes lo que es eso?", en resumen, al final acabé pidiendo un PC potente con un i7 de 10° generación jajaja ahora ese compilado tarda aproximadamente 10 segundos uwu

      Un disco solido también ayuda

      Tips para la vida jajaja

      Jetstream: personalización


      Un plugin para manejar JS en Visual Studio Code.

      Lo instalé y funciona muy bien, gracias.

      funciona perfecto, gracias!

      En Laravel 9 ya no se utiliza Laravel Mix, se utiliza Vite. Aqui tienen mas informacion al respecto https://laravel.com/docs/9.x/vite

      los cambios con Vite son automaticos, solo deben leventar el servidor de vite con npm run dev y compilan todos los archivos. Ya el flag --watch no es necesario, por defecto con npm run dev ya queda en escucha el servidor de Vite.

      en el curso,se esta usando laravel 8, el profesor lo aclara en el curso

      Para quienes al día de hoy: 16 de febrero de 2021 en adelante ven este curso necesitaran instalar esta extensión pues Laravel Jetstream instala Vue 3 en lugar de Vue 2.

      No olvides tomar el curso de Vue 3

      Todos los videos de este curso están súper lag

      super lag?

      A la fecha marzo de 2024 ya trabajamos directamente con vite y vamos en laravel 11. El renderizado practicamente no demora y con el npm run dev es suficiente para que el sistema siga escuchando los cambios.

      Laravel 9, problemas hasta el momento en Ubuntu, verificar la versión de node(tenía la 12, subí a 18), necesitas correr al tiempo

      php artisan serve npm run dev

      Ojo, si creas un nuevo enlace en el componente AppLayout haciendo referencia a una ruta que apunta a un controlador que no está renderizando un componente de Vue (por medio de Inertia::render('Notes')) te va a salir un "modal", esto desde luego no es el resultado esperado y la forma de solventarlo es creando el componente y renderizándolo desde el método del controlador asociado con la ruta. Espero esto sirva de algo. Saludos 🫶

      Necesitaremos trabajar con un Portatil o PC decente si queremos correr watch.

      Un saludo. Estoy con Laravel 9, Vue 3 y Vite Cuando corro php artisan serve me carga, sin cambios. Cuando corro npm run dev, me carga sin cambios. Cuando correo pnm run watch no hace nada, no lo tengo configurado.

      No logro entender como hacer para que funcione con los cambios. Una manita, please!!!

      Gracias.

      En L9 cuando se ejecuta

      npm run dev

      se llama a los scripts de vite y estos compilan y se quedan en modo watch para atender a los cambios que hagas, esto esta configurado en: package.json

      "scripts": { "dev": "vite", "build": "vite build" },

      y el archivo de configuracion se vite, vite.config.json debe tener indicado que como entrada chekea la carpeta resources/js y eso es lo que re-compila cada vez que hagas cambios:

      plugins: [ laravel({ input: 'resources/js/app.js', refresh: true, }), vue({ template: { transformAssetUrls: { base: null, includeAbsolute: false, }, }, }), ],

      Todas estas configuraciones vienen por defecto con la instalaciondel ambiente de trabajo con jetstream. . Si esto no esta funcionando correctamente o si tienes algun otro mensaje de error, favor compartelo por aqui. . Me inclino por pensar que tengas algun problema con la version del NPM o de node.js, recomiendo actualizar ambas herramientas y ejecutes de nuevo

      npm install y luego npm run dev

      a alguien más le pasa que cuando agrega el link de "Notas" se le coloca todo en blanco?

      La pagina queda en blanco ? . Creo que puedas tener algun problema con una etiqueta de cierre que ocacione que el archivo.vue se rompa y no pueda ser compilado. . Chekea que el helpepr route() este apuntando a una ruta que exista realmente.

      en las nuevas versiones de Laravel el comando npm run watch fue eliminado, solo basta que ejecutes npm run dev y ya los cambios los verias en vivo en la aplicacion

      Si estás usando la versión de Laravel 10.x notarás que ya estamos usando vite en lugar de webpack. Para poder usar el comando en esta clase "npm run watch" es necesario ir al archivo package.js y agregar la siguiente línea:

      "scripts": { "dev": "vite", "build": "vite build", ``"watch": "vite build --watch" },

      Dejo mi commit con Laravel 9:

      https://github.com/jlbousing/platzi-inertia/commit/261e60e7c00df947017c846fc2553edfd4e5cce9

      En Laravel 9, el comando watch ya no esta includo en el package.json. En su lugar esta dev

      En Vue como puedo utilizar las funcion "asset" de laravel. Para hacer referencia a mis archivos de /public

      Esto es un poco truculento porque asset era un helper de blade y vue no tiene disponible dicho helper. Se que existen librerias que permiten habilitar una funcion asset como la de blade, pero su configuracion es tediosa. .

      La solucion rapida y practica que te puedo dar es esta:: cuando llames la vista desde el controlador, pasa la ruta de tu asset asi (la imagen debe estar en la carpeta publica):

      return Inertia::render('index', [ 'logo' => '/images/mi-logo.png', ]);

      La pagina del componente, index.vue debe recibir esa prop en su encabezado asi:

      <script setup> import { Head, Link } from '@inertiajs/inertia-vue3'; defineProps({ logo: String, }); </script>

      con esto ya tienes acceso al ++asset++, desde tu componente, de esta manera:

      <img :src="logo" class="mis-clases-de-tailwind"/>

      Hola a todos, necesito ayuda con algo, no logro que haga la compilación y muestre los cambios, realicé las modificaciones explicadas por el profesor y si bien al correr npm run watch me dice que compila satisfactoriamente, los cambios no se ven reflejados (no aparece el menu "Notas" ni el cuerpo del "Dashboard" vacio. Gracias de antemano por la ayuda!! (no se mucho de webpack y tal vez haya que configurar algo diferente)

      ¡Hola!, podrías probar cerrando el watch y volviéndolo a ejecutar, también recarga la página con ctrl + f5 para borrar caché, recuerda guardar tus archivos, debería funcionar 🤔

      Gracias por la respuesta, probé con crl+F5 y ahora no me renderiza "Dashboard" y me arroja este error:

      warn @ app.js:5609 dashboard:20 Uncaught (in promise) Error: Ziggy error: route 'note.index' is not in the route list. at new N (dashboard:20) at Proxy.<anonymous> (dashboard:20) at Proxy.render (app.js:19623) at renderComponentRoot (app.js:6300) at componentEffect (app.js:9784) at reactiveEffect (app.js:4644) at effect (app.js:4619) at setupRenderEffect (app.js:9767) at mountComponent (app.js:9726) at processComponent (app.js:9686)

      sería buena idea ignorar el archivo public/js/app.js desde el .gitignore? Lo digo por que si se puede compilar no tendría mucho sentido trackear sus cambios, no?

      La idea es que en producción NO tengas que instalar las herramientas de desarrollador, de hecho, no deberías instalar las herramientas de desarrollador en producción. Por ese motivo no es buena idea ignorar tal archivo, recuerda que el compilar todos los cambios y demás hace parte de las herramientas de desarrollador (igual por eso dentro del composer.json y el package.json) tenemos opciones para instalar herrmientas de desarrollo y producción :D

      Ya veo, muchas gracias. Personalmente lo ignorare ya que estaba leyendo que TailwindCSS tiene capacidad de comprimir su compilado en producción.

      No me queda porque la ruta la debo acompañar por el .index ):

      Al crear las rutas de recursos:

      `Route::resource('notes', App\Http\Controllers\NoteController::class);

      Laravel crea automaticamente las 7 rutas básicas de un CRUD y usa esta convención para nombrarlas.

      • notes.index
      • notes.create
      • notes.store
      • notes.show
      • notes.edit
      • notes.update
      • notes.destroy