“trae” lleva 3 años desde la ultima actualización, no lo usan ni sus creadores seguramente.
Clase completamente Innecesaria, al día de hoy Axios es casi la librería oficial de Vue,
Introducción
Desarrollo de Aplicaciones Profesionales con VueJS
VueJS: Creación y Desarrollo de Aplicaciones Web Progresivas
CLI y Dev Tools
Herramientas esenciales para desarrollar con BioJS y NodeJS
Creación de una Aplicación Vue.js con CLI y Webpack Simple
Configuración y uso de Webpack en proyectos JavaScript
Configuración y uso de Babel para compatibilidad JavaScript
Configuración de eSlimt con EstándarJS y Webpack
Integración de SaaS y Bulma en Aplicaciones Vue.js
Configuración de Pag para optimizar el workflow de desarrollo HTML
Diseño de Mockups: Práctica y Colaboración en Comunidad
Creación de Vistas con Mockups y Vue.js
Manipulación del DOM
Expresiones en Vue: Manipulación Dinámica del DOM
Directivas de Vue: Uso y Funciones Principales
Data Binding y Directivas en Vue: bmodel y bevined
Propiedades Computadas en JavaScript: Creación y Uso Práctico
Uso de Watchers en Biomóvil para Gestión de Cambios de Propiedades
Manipulación de Eventos y Métodos en Aplicaciones Web
Creación de Interfaz con Vue.js y Framework CSS Bulma
Manipulación del DOM con Vue.js: Práctica y Ejercicios
REST y HTTP
Integración de Servicios HTTP con JavaScript y API Fetch
Uso de la librería Trae para peticiones HTTP con Fetch API en JavaScript
Integración de Servicios en Vue.js: Uso de API y Mejora de Código
Sistema de Componentes
Creación y Registro de Componentes en Vue.js
Creación de Componentes en Vue.js con Bulma para Platzi Music
Reactividad y Virtual DOM en Vue.js: Conceptos y Soluciones
Ciclo de Vida de Componentes en Vue.js: Hooks y Ejecución de Código
Comunicación entre Componentes en Vue.js: Props y Eventos
Comunicación entre Componentes en Vue: Eventos de Hijo a Padre
Uso de Slots para Inyección Dinámica de HTML en Componentes Vue
Comunicación entre Componentes Vue con Event Bus y Plugins
Vue Router
Vue Router: Creación de Single Page Applications
Instalación y Configuración de Vue Router en Aplicaciones Vue.js
Navegación de Rutas con Vue Router en Aplicaciones SPA
Extendiendo VueJS
Uso de Modifiers en VueJS para Mejorar Funcionalidad de Eventos
Filtros en Vue: Formateo de Duraciones de Canciones en Componentes
Creación de Directivas Personalizadas en Vue.js
Reutilización de Funcionalidad con Mixins en VueJS
Clases, Animaciones y Transiciones36
Integración de Animaciones CSS3 en Aplicaciones VueJS
Vuex
Gestión de Estados Centralizados con la Librería BuX
Integración de VueX y arquitectura Flux en Vue.js
Mutaciones en Vuex: Gestión y Actualización del Estado Reactivo
Uso de Getters en Vuex para Acceso Personalizado de Estado
Acciones asincrónicas en Vuex: cómo implementarlas y utilizarlas
Integración de VueX y Babel en PlatziMusic
Nuxt.js
Renderizado del Lado del Servidor con Vue.js y Nuxt
Creación de Proyectos con Nact.js en Vue para Server-Side Rendering
Integración de VueJS con Nuxt para Server-Side Rendering
Deploy a Producción con Now
Despliegue de Aplicaciones con NOW en BIOS JS
Despliegue de Aplicaciones Node.js con NOW y Webpack
Conclusiones
Construcción de Aplicaciones Profesionales con Vue.js
Bonus
Internacionalización de Aplicaciones con Vue I18n
Pruebas Unitarias con Vue.js y Webpack: Configuración y Ejecución
Autenticación en Vue.js con JSON Web Tokens (JWT)
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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.
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;
trae.create()
, donde se pasa la baseUrl
que será usada por todas las peticiones HTTP.apiUrl
con la U en mayúscula.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;
q
para la query y type
predefinido como 'track' para limitar la búsqueda a canciones.platzymusicService
, se hace un GET a /search
con los parámetros incorporados.then
, asegurando que la respuesta de la API se encuentre disponible para quien llame a search
.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!
Aportes 22
Preguntas 7
“trae” lleva 3 años desde la ultima actualización, no lo usan ni sus creadores seguramente.
Clase completamente Innecesaria, al día de hoy Axios es casi la librería oficial de Vue,
pienso que en esta clase no era necesario usar trae, considero que debemos usar axios
Las clases 21 y 22 no están ordenadas, deberían ir al revés
De esta forma lo realice con fetch, siguiente el curso anterior
ARCHIVO : config.js
const configService = { apiUrl: "https://platzi-music-api.herokuapp.com" };
export default {
configService,
};
ARCHIVOS : app-music.js
import config from "./config";
const getTrackForName = async (name) => {
try {
const rawData = await fetch(
`${config.configService.apiUrl}/search?q=${name}&type=track`
);
const jsonData = await rawData.json();
return jsonData;
} catch (error) {
return "Error: " + error;
}
};
export default {
getTrackForName,
};
¿en que curso puedo encontrar más bases para entender estas clases?
Considero innecesario realizar tantos archivos exportando e importando en otros. Digo ¿Cuál es el punto? ¿Demostrar que sabemos ES6? Bien pudo colocarse en un sólo archivo y la clase hubiera sido más corta, útil y concisa.
Además de que la libreria TRAE tiene mucho tiempo sin actualizarse. Ojala Platzi actualice pronto este curso por una nueva versión.
Empece a usar axios espero no estar mal en esta parte…
Me gusta el termino Javascript Pelado, lo añadiré a mi vocabulario
Si trae trabaja con Fetch y Axios trabaja con XMLHttpRequest, ¿como le hace cuando el navegador no soporta dicha caracteristica?, me imagino que igual usa el clasico XMLHttpRequest
He usado axios en varios proyectos, ya que es muy popular, sin embargo, me convencio mucho trae, es muy optima y fácil, insto a todos los colegas a apoyar este desarrollo, ya que es echo por latinos, gracias Nacho por compartir !!!
Este curso necesita un update urgente!!!
el uso de trae no me a gustado para nada, pero me di cuenta que esta usando la API de spootify, mejor lean la doc de spootify y lo integran a su proyecto
Y si yo quiero hacerlo normalito, sin ninguna libreria x.x?
¿A día de hoy sigue siendo una buena alternativa usar Trae.js? Me refiero a que Axios sigue usando XMLHttpRequests hasta ahora, pero es un poco más activo en Github que Trae.js
¿cuál es el benficio de trae sobre axios?
En el curso basico de vue la version mas reciente, nos muestra como podemos hacer uso de la api fetch sin tener q instalar ninguna libreria.
Para ser una aplicacion react 20 videos de codificacion y no he visto nada para la interface grafica de usuario 😦
el ejemplo esta bien pero para ser una aplicacion React …me hubiera gustado que cada componente lo fuera codificando y viendose en interface grafica para ver como va quedando y no solo ver codigo y mas codigo para al final ver una app realizada
Tengo una pregunta, usando Trae ¿podría editar modificar y eliminar registros de una API no es así? ¿o estoy equivocado? gracias por su ayuda.
Platzi me esta defraudando con el contenido de este curso.
Primero el titulo indica que se va a tocar el tema de Fetch API pero no hace nada mas que nombrarlo.
Segundo se usa una librería que no esta extendida y que tiene tiempo sin ser actualizada.
Así se crea mucha fricción al aprender un tema.
WTF esta clase iba antes 😮
Les dejo el codigo con axios para los que prefieren este metodo:
Este es el fichero de config:
const configService = {
apiUrl: "https://platzi-music-api.herokuapp.com",
};
export default configService;
este es el fichero para la funcion de busqueda:
const fetchTrackByName = async (searchQuery) => {
try {
const res = await axios
.get(`${configService.apiUrl}/search?q=${searchQuery}&type=track`)
.then((res) => res.data);
return res;
} catch (error) {
console.log(error);
}
};```
Este es el metodo dentro de nuestro componente App:
handleSearch(){
if(!this.searchQuery) return
fetchTrackByName(this.searchQuery)
.then(res => {
this.tracks = res.tracks.items
})
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?