Cómo crear una aplicación con API de Laravel (PHP) y Front End de Vue.js (Nuxt.js)

Author
Por Darío Rivera
Publicado el en Laravel

Con Laravel tenemos bastantes formas de crear una aplicación utilizando el gestor de plantillas de Laravel (Blade) y alguna opción para el front-end como Vue o React. Sin embargo, en este post veremos cómo utilizar Laravel solo como API de autenticación y otro repositorio diferente del lado de FrontEnd en Vue.js.

Diseño de la solución

Antes que nada vamos a definir cómo va a ser el deiseño de arquitectura de la aplicación, cómo va a funcionar y como va se va a comunicar cada componente.

...

Laravel API setup

En un proyecto recién instalado de Laravel debes agregar el paquete laravel/breeze y ejecutar el comando de instalación para API. Este método hace parte de los Starter Kits de Laravel.

composer require laravel/breeze --dev
php artisan breeze:install api
php artisan migrate

Después de esto debemos configurar la URL del frontend para poder aceptar peticiones en Laravel desde esta URL. Si no configuras esta URL de la manera correcta vas a recibir un error en el navegador por CORS.

FRONTEND_URL=http://dev-misitio.com:3000

Nuxt.js

Nuxt.js es un framework de frontend construido sobre Vue.js que ofrece excelentes características de desarrollo, como renderizado del lado del servidor, rutas generadas automáticamente, gestión mejorada de meta etiquetas y mejora del SEO.

En este artículo no discutiremos los beneficios y posibles desventajas de utilizar Nuxt sobre Vue. Sin embargo, si lo que quieres es desarrollar una aplicación abierta a internet, debes considerar que para los navegadores no es fácil indexar las páginas creadas dinámicamente con JavaScript. Si lo que vas a desarrollar es una app en una intranet, esto no debería ser un problema.

Requisitos

Debes crear una aplicación en Nuxt.js usando SSR con Node.js. Para cumplir este requisito puedes seguir el siguiente tutorial:

- Cómo crear applicación con Nuxt.js Paso a Paso

En el archivo nuxt.config.js.

axios: {
  baseURL: 'http://dev-misitio.com',
  credentials: true
}

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.