Integración de VueJS con Nuxt para Server-Side Rendering
Clase 47 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
- 3

Herramientas esenciales para desarrollar con BioJS y NodeJS
06:13 - 4

Creación de una Aplicación Vue.js con CLI y Webpack Simple
12:50 - 5

Configuración y uso de Webpack en proyectos JavaScript
10:38 - 6

Configuración y uso de Babel para compatibilidad JavaScript
05:06 - 7

Configuración de eSlimt con EstándarJS y Webpack
15:34 - 8

Integración de SaaS y Bulma en Aplicaciones Vue.js
06:18 - 9

Configuración de Pag para optimizar el workflow de desarrollo HTML
04:23 - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 - 11
Creación de Vistas con Mockups y Vue.js
00:32
- 12

Expresiones en Vue: Manipulación Dinámica del DOM
03:49 - 13

Directivas de Vue: Uso y Funciones Principales
06:22 - 14

Data Binding y Directivas en Vue: bmodel y bevined
04:11 - 15

Propiedades Computadas en JavaScript: Creación y Uso Práctico
04:13 - 16

Uso de Watchers en Biomóvil para Gestión de Cambios de Propiedades
02:25 - 17

Manipulación de Eventos y Métodos en Aplicaciones Web
06:12 - 18

Creación de Interfaz con Vue.js y Framework CSS Bulma
19:03 - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00
- 23

Creación y Registro de Componentes en Vue.js
08:46 - 24

Creación de Componentes en Vue.js con Bulma para Platzi Music
09:50 - 25

Reactividad y Virtual DOM en Vue.js: Conceptos y Soluciones
06:14 - 26

Ciclo de Vida de Componentes en Vue.js: Hooks y Ejecución de Código
05:38 - 27

Comunicación entre Componentes en Vue.js: Props y Eventos
23:27 - 28

Comunicación entre Componentes en Vue: Eventos de Hijo a Padre
12:04 - 29

Uso de Slots para Inyección Dinámica de HTML en Componentes Vue
13:42 - 30

Comunicación entre Componentes Vue con Event Bus y Plugins
19:19
- 39

Gestión de Estados Centralizados con la Librería BuX
03:41 - 40

Integración de VueX y arquitectura Flux en Vue.js
17:32 - 41

Mutaciones en Vuex: Gestión y Actualización del Estado Reactivo
08:16 - 42

Uso de Getters en Vuex para Acceso Personalizado de Estado
07:35 - 43

Acciones asincrónicas en Vuex: cómo implementarlas y utilizarlas
07:55 - 44

Integración de VueX y Babel en PlatziMusic
26:37
¿Cómo integrar Vue.js en una aplicación con Nax?
Integrar Vue.js en aplicaciones con server-side rendering como Nax puede parecer complicado al principio, pero es más sencillo de lo que se piensa, ya que conservamos la sintaxis y los componentes de Vue.js. En este artículo, exploraremos paso a paso cómo integrar Vue.js en un proyecto de Nax replicando el Platzi Music original. Este enfoque te permitirá comprender mejor las diferencias y beneficios de incluir server-side rendering de manera eficiente en tus aplicaciones.
¿Cómo trabajamos con componentes en Nax?
Los componentes en Nax se gestionan de manera similar a Vue.js, pero debemos tener en cuenta la estructura de directorios únicos del framework. En la raíz del proyecto de Nax, creamos componentes reutilizables:
-
Inicia creando los componentes del header y el footer:
- Abre el proyecto anterior, Platzi Music, y el nuevo proyecto con Nax.
- Copia el contenido del header y footer existentes en Platzi Music y pégalos en los archivos
header.vueyfooter.vuedentro del directoriocomponentsen el proyecto de Nax.
-
Configura los componentes en el layout:
- Importa los componentes dentro del archivo
default.vueen el directoriolayouts. - Utiliza la sintaxis de ECMAScript para importar los componentes:
import HeaderComponent from '~/components/Header.vue' import FooterComponent from '~/components/Footer.vue'- Declara estos componentes en la exportación por defecto y colócalos apropiadamente dentro del template HTML.
- Importa los componentes dentro del archivo
¿Cómo instalar dependencias necesarias para Nax?
Antes de poder utilizar ciertas características de Vue.js y otras librerías como Bulma, necesitamos instalar las siguientes dependencias:
- Abre la terminal y ejecuta el siguiente comando:
npm install --save-dev sass-loader@^7.0.1 node-sass
Esto permite compilar estilos SCSS que son utilizados comúnmente en proyectos diseñados con framework CSS como Bulma.
¿Cómo definir rutas dinámicas en Nax?
Al crear rutas, Nax simplifica la creación de URLs dinámicas mediante la estructura del directorio pages:
-
Establece rutas dinámicas:
- Dentro de
pages, crea un directoriotracky dentro de él, crea un archivo_[id].vue. - Este archivo representa rutas dinámicas utilizando el guion bajo
_seguido del nombre del parámetro,iden este caso, para lograr URLs dinámicas como/track/1.
- Dentro de
-
Configura el contenido de las rutas:
- Copia el contenido base de la vista de detalles de pista de Platzi Music al nuevo archivo
_[id].vue. - Usa el hook
asyncDatade Nax para realizar llamadas asíncronas y gestionar datos sin problemas. Este hook asegura que los datos estén disponibles antes de que se renderice la página en el servidor.
- Copia el contenido base de la vista de detalles de pista de Platzi Music al nuevo archivo
¿Cómo usamos el hook asyncData y gestionar el estado en Nax?
El hook asyncData es crucial en Nax, permitiéndonos manejar datos asíncronos en el server-side rendering:
- Dentro de
_[id].vueusaasyncDatapara manejar peticiones:asyncData ({ params }) { return axios.get(`https://api.example.com/track/${params.id}`) .then((res) => { return { track: res.data } }) }
Este enfoque permite sincronizar datos antes de que el componente sea renderizado, mejorando la experiencia del usuario y fomentando un SEO eficaz.
¿Cómo personalizar el contenido del head en Nax?
Alterar dinámicamente el contenido del head, como el título de la página, es posible usando el hook head de Nax. Personalizar detalles del head mejora la indexación de tu página en motores de búsqueda:
- Dentro de
_[id].vue, define la funciónhead:head () { return { title: this.track.name, } }
Configurar dinámicamente los metadatos del documento HTML aporta un plus a la optimización SEO de tu aplicación al proporcionar contenido relevante para cada vista.
Retos y siguientes pasos
Ahora que tienes las herramientas básicas para integrar Vue.js en aplicaciones server-side con Nax, ¡es hora de ser creativo! Completa la aplicación añadiendo funcionalidad de búsqueda y el reproductor, así como importando Bulma para darle estilo. La práctica es la mejor manera de dominar estas herramientas y llevar tus aplicaciones al siguiente nivel. ¡Sigue aprendiendo, experimentando y desarrollándote como programador innovador!