Uso de la librería Trae para peticiones HTTP con Fetch API en JavaScript
Clase 21 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
¿Qué es Fetch API y por qué se usa?
Fetch API es una interfaz moderna que permite realizar peticiones HTTP de manera más sencilla y manejable comparado con el método antiguo XMLHttpRequest. Sin embargo, no está completamente soportada en todos los navegadores, lo que lleva a utilizar librerías como Trae, que actúan como intermediarios para facilitar su uso y asegurar compatibilidad.
¿Por qué usar Trae?
- Compatibilidad: Asegura que la API de Fetch funcione incluso en navegadores que todavía no la soportan completamente.
- Funcionalidad extendida: Proporciona métodos simplificados para manejar peticiones HTTP sin leerse extenso código repetitivo.
- Conveniencia: Facilita la centralización de las configuraciones, como la base URL, permitiendo que solamente se tenga que proporcionar el endpoint específico para cada petición.
¿Cómo instalar y configurar Trae?
Para usar la librería Trae en tus proyectos de JavaScript, el primer paso es instalarla. La instalación es bastante sencilla con npm, y aquí te mostramos cómo hacerlo:
npm install trae --save
Este comando agrega Trae como una dependencia de producción, garantizando su uso en entorno de desarrollo y producción. Luego, en tu proyecto, puedes importar y configurar Trae como sigue:
import trae from 'trae';
import configService from './config';
const platzymusicService = trae.create({
baseUrl: configService.apiUrl,
});
export default platzymusicService;
¿Cómo funciona la importación y configuración?
- Importación: Se utiliza la sintaxis de importación de ESMAScript 6 para traer la librería y otros servicios.
- Creación de instancia: Se crea una instancia de Trae usando
trae.create(), donde se pasa labaseUrlque será usada por todas las peticiones HTTP. - Consistencia en nombrado: Asegúrate de que las variables sean consistentes con las denominaciones utilizadas, como es el caso de
apiUrlcon la U en mayúscula.
¿Cómo crear un servicio para manejar peticiones?
Es crucial poder estructurar bien las interacciones con la API, y crear servicios es una manera efectiva de lograrlo. Aquí te mostramos cómo podrías crear un servicio llamado TrackService:
import platzymusicService from './platzymusicService';
const trackService = {
search(q) {
const type = 'track';
return platzymusicService.get('/search', {
params: { q, type },
}).then(response => response.data);
},
};
export default trackService;
Explicación de la implementación
- Parámetros: Se usa
qpara la query ytypepredefinido como 'track' para limitar la búsqueda a canciones. - Método GET: Utilizando
platzymusicService, se hace un GET a/searchcon los parámetros incorporados. - Promesas: Devuelve una promesa que maneja el
then, asegurando que la respuesta de la API se encuentre disponible para quien llame asearch.
Este enfoque modular permite reutilizar configuraciones y funciones para futuras integraciones, llamando siempre al servicio adecuado para tipos de contenido específicos. ¿Necesitas buscar artistas o álbumes? Solo crea un método similar siguiendo este patrón en el TrackService. Es una forma eficiente y organizada de gestionar las interacciones con la API.
¿Quieres saber cómo integrar estos servicios con tus componentes? ¡Sigue adelante y descubre cómo mejorar la interacción con tus usuarios!