search
CursosEmpresasBlogLiveConfEventosPrecios
Curso de Manipulación del DOM

Descargando información y creando nodos

Curso de Manipulación del DOM

Contenido del curso

DOM y Web API

  • 1
    Y entonces nació internet...

    Y entonces nació internet...

    02:23 min
  • 2
    Accede a la versión más actualizada de este contenido

    Accede a la versión más actualizada de este contenido

    00:14 min
  • 3
    ¿Qué es el DOM?

    ¿Qué es el DOM?

    02:39 min
  • 4
    Web APIs modernas

    Web APIs modernas

    03:17 min

Operaciones básicas

  • 5
    Leer nodos

    Leer nodos

    09:31 min
  • 6
    NodeLists vs Array

    NodeLists vs Array

    03:46 min
  • 7
    Crear y agregar

    Crear y agregar

    15:47 min
  • 8
    Otras formas de agregar

    Otras formas de agregar

    06:55 min
  • 9
    Atributos y propiedades

    Atributos y propiedades

    05:12 min
  • 10
    Eliminar nodos

    Eliminar nodos

    09:31 min
  • 11
    Operaciones en lote

    Operaciones en lote

    06:52 min

Workshop 1: Fetch

  • 12
    Presentación del proyecto

    Presentación del proyecto

    01:10 min
  • 13
    Descargando información y creando nodos

    Descargando información y creando nodos

    Viendo ahora
  • 14
    Enriqueciendo la información

    Enriqueciendo la información

    10:53 min
  • 15
    Usando la API de internacionalización del browser

    Usando la API de internacionalización del browser

    12:14 min
  • 16
    Comparte el resultado

    Comparte el resultado

    02:18 min

Eventos

  • 17
    Reaccionar a lo que sucede en el DOM

    Reaccionar a lo que sucede en el DOM

    13:58 min
  • 18
    Event propagation

    Event propagation

    12:08 min
  • 19
    Event delegation

    Event delegation

    05:32 min

Workshop 2: Lazy loading

  • 20
    Presentación del proyecto

    Presentación del proyecto

    03:34 min
  • 21
    Nuestro propio plugin Lazy Loading

    Nuestro propio plugin Lazy Loading

    08:32 min
  • 22
    Creando las imagenes con JavaScript

    Creando las imagenes con JavaScript

    17:33 min
  • 23
    Intersection Observer

    Intersection Observer

    14:21 min
  • 24
    Aplicando Lazy loading

    Aplicando Lazy loading

    13:07 min
  • 25
    Comparte el resultado

    Comparte el resultado

    03:17 min

Workshop 3

  • 26
    Proyectos propuestos

    Proyectos propuestos

    04:17 min

Librerías relacionadas

  • 27
    ¿Y jQuery?

    ¿Y jQuery?

    03:41 min
  • 28
    ¿Y JSX?

    ¿Y JSX?

    09:40 min

Conclusiones

  • 29
    Conclusiones

    Conclusiones

    01:56 min
schoolTomar examen

Descargando información y creando nodos

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

Comentarios180

    Sebastian Gonzalez

    Sebastian Gonzalez

    Estudiante
    Hace 6 años
      Jimmy Buriticá Londoño

      Jimmy Buriticá Londoño

      Estudiante
      Hace 6 años
      Andrés Felipe García Rendón

      Andrés Felipe García Rendón

      Estudiante
      Hace 6 años
    Andres Felipe Pinchao Ramirez

    Andres Felipe Pinchao Ramirez

    Estudiante
    Hace 6 años
      David Daniel Castillo Nava

      David Daniel Castillo Nava

      Estudiante
      Hace 6 años
      Luis Felipe Medina Rodriguez

      Luis Felipe Medina Rodriguez

      Estudiante
      Hace 6 años
    Jenny Aguilar

    Jenny Aguilar

    Estudiante
    Hace 5 años
      Luis Alejandro Vera Hernandez

      Luis Alejandro Vera Hernandez

      Estudiante
      Hace 5 años
      Keyla Conde Sánchez

      Keyla Conde Sánchez

      Estudiante
      Hace 4 años
    Vsqz Gabriel

    Vsqz Gabriel

    Estudiante
    Hace 6 años
      Jonathan 🦑 Alvarez

      Jonathan 🦑 Alvarez

      Profesor
      Hace 6 años
      Edgar Lopez Arroyo

      Edgar Lopez Arroyo

      Estudiante
      Hace 6 años
    Guillermo Castaño Vèlez

    Guillermo Castaño Vèlez

    Estudiante
    Hace 6 años
    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    Estudiante
    Hace 6 años
      Pablo Verduzco

      Pablo Verduzco

      Estudiante
      Hace 6 años
      Jonathan 🦑 Alvarez

      Jonathan 🦑 Alvarez

      Profesor
      Hace 6 años
    Magali Alexander López Chavira

    Magali Alexander López Chavira

    Estudiante
    Hace 5 años
      John Ruiz

      John Ruiz

      Estudiante
      Hace 5 años
    Armando Rivera

    Armando Rivera

    Estudiante
    Hace 6 años
    Diego Daniel Pedroza Perez

    Diego Daniel Pedroza Perez

    Estudiante
    Hace 6 años
      Rodrigo Martinez

      Rodrigo Martinez

      Estudiante
      Hace 6 años
    Luis Alain

    Luis Alain

    Estudiante
    Hace 5 años
      Jose Oscar Rosas Perez

      Jose Oscar Rosas Perez

      Estudiante
      Hace 4 años
      Santander Cristian

      Santander Cristian

      Estudiante
      Hace 4 años
    Iván Garcia

    Iván Garcia

    Estudiante
    Hace 5 años
    Diego Rubio

    Diego Rubio

    Estudiante
    Hace 6 años
      Arturo Mauricio Terceros Beltrán

      Arturo Mauricio Terceros Beltrán

      Estudiante
      Hace 5 años
      José Luis Encastin Flores

      José Luis Encastin Flores

      Estudiante
      Hace 5 años
    Hector Andres Erira Huertas

    Hector Andres Erira Huertas

    Estudiante
    Hace 6 años
      Uriel Alberto Arevalo Franco

      Uriel Alberto Arevalo Franco

      Estudiante
      Hace 5 años
      Juan Diego Pelaez González

      Juan Diego Pelaez González

      Estudiante
      Hace 3 años
    Jesus Chirinos

    Jesus Chirinos

    Estudiante
    Hace 6 años
      Alex Camacho

      Alex Camacho

      Profesor
      Hace 6 años
      Jonathan 🦑 Alvarez

      Jonathan 🦑 Alvarez

      Profesor
      Hace 6 años
    Sebastian Heredia

    Sebastian Heredia

    Estudiante
    Hace 5 años
      José Luis Encastin Flores

      José Luis Encastin Flores

      Estudiante
      Hace 5 años
    Julio Astudillo

    Julio Astudillo

    Estudiante
    Hace 4 años
    Efraín Hernández García

    Efraín Hernández García

    Estudiante
    Hace 5 años
    Karenn Yeraldin Hernández Duarte

    Karenn Yeraldin Hernández Duarte

    Estudiante
    Hace 5 años
    Jose Luis Barboza Gonzales

    Jose Luis Barboza Gonzales

    Estudiante
    Hace 5 años
      Carlos Eduardo Gomez García

      Carlos Eduardo Gomez García

      Estudiante
      Hace 5 años
      Jose Luis Barboza Gonzales

      Jose Luis Barboza Gonzales

      Estudiante
      Hace 5 años
    LEANDRO DARIO MAMANI

    LEANDRO DARIO MAMANI

    Estudiante
    Hace 5 años
      Carlos Guillermo Coello Valenzuela

      Carlos Guillermo Coello Valenzuela

      Estudiante
      Hace 5 años
      Fernando Quinteros Gutierrez

      Fernando Quinteros Gutierrez

      Estudiante
      Hace 5 años

El fetch() con async/await

const url = "https://platzi-avo.vercel.app/api/avo"; //web api async function fetchData() { const response = await fetch(url), data = await response.json(), allItems = []; data.data.forEach((item) => { // create image const image = document.createElement("img"); // create title const title = document.createElement("h2"); // create price const price = document.createElement("div"); const container = document.createElement("div"); container.append(image, title, price); allItems.push(container); }); document.body.append(...allItems) } fetchData();

Me gusta más usar async/await, te quedo bien desarrollado el ejercicio.

Muchsa gracias por compartir tus apuntes.Salu2

MIS APUNTES 😎🤙🤙👌

//URL API const url = "https://platzi-avo.vercel.app/api/avo"; /*Web API Fetch La utilizamos para traer recursos desde cualquier otro sitio web Lo unico que tenemos que pasarle es nuestra url 1. Nos conectaremos al servidor */ window .fetch(url) /*2. Procesar la respuesta y despues la convertimos en JSON Fetch es algo que nos devuelve una promesa asi que trabajaremos con promesas para obtener la respuesta y transformarla en JSON */ .then(respuesta => respuesta.json()) /*3. Luego de que convirtamos la respuesta en JSON lo que obtenemos ahora es informacion y la obtenemos concatenando otra promesa Cuando tengamos el JSON tendremos esa informacion que nos servira para renderizar esa info en nuestro navegador*/ .then(responseJson =>{ const todosLosItems = []; /*recorremos cada uno de los elementos que estan en arrays con un forEach */ responseJson.data.forEach(item => { /*atraves del parametro de la funcion del forEach accedemos a los elementos de la respuesta json*/ //creamos nuestros elementos const imagen = document.createElement('img'); const titulo = document.createElement('h2'); const precio = document.createElement('div'); // cremos el contenedor donde vamos a poner nuestros elementos const container = document.createElement('div'); /*agregamos los elementos a un contenedor container.appendChild(imagen); container.appendChild(titulo); container.appendChild(precio); */ container.append(imagen,titulo,precio); //agregamos el contenedor en nuestro body //document.body.appendChild(container); todosLosItems.push(container); console.log(item.name); }); document.body.append(...todosLosItems) }); /*RESUMEN: NOS CONECTAMOS A UNA API QUE ES UN PUENTE CON LA INFORMACION DE UN SERVIDOR Y ESE SERVIDOR NOS DEVUELVE ESA INFORMACION, Y UTILIZAMOS UN CICLO POR CADA UNO DE LOS ELEMENTOS QUE NOS DEVUELVE ESE SERVIDOR CREAMOS NODOS Y SE LOS AGREGAMOS AL FINAL A NUESTRO HTML*/ /*RETO PARA MEJORAR ESTE CODIGO Y ES HACERLO CON ASYNC Y AWAIT EN VES DE PROMESAS */```

Te ganas mi me gusta por compartir la url gracias

😎 carita fachera

Por si hay alguno que se pregunta cómo hace Jonathan para ver en formato json lo que arroja la API directo en el navegador, hay extensiones para el navegador que son muy útiles para ello. En mi caso uso JSON Viewer y parece que el profe igual. Se habilita en la configuración del navegador y se busca desde extensiones. El repo de github es https://goo.gl/fmphc7. Espero les sirva.

Era lo que necesitaba. Gracias

Claro que me sirvió, muchas gracias!

Y si creamos creamos un fragmento de documento vacio el cual este listo para insertar nodo en el de la siguiente forma

let fragment = document.createDocumentFragment();
fetch(url) .then((res) => res.json()) .then((data) => { //creamos el fragment let fragment = document.createDocumentFragment(); data.data.forEach((item) => { let image = document.createElement('img'); let title = document.createElement('h2'); let price = document.createElement('span'); const container = document.createElement('div'); container.append(image, title, price); //agregamos los nodos al fragment y no al DOM directamente fragment.appendChild(container); }); //solo renderizamos una sola vez el DOM document.body.append(fragment); });```

Genial! es una forma más óptima :D

Interesante, no conocía ese método :D

Este es el curso que estaba esperando de Platzi para poder conectar todo lo básico con el curso profesional.

Recomiendo encarecidamente trabajar con Windows Subsystem for Linux para hacer cualquier práctica de programación, en serio, creanme, les va a ahorrar demasiados dolores de cabeza, si aún no sabes cómo instalar Windows Subsystem for Linux, puedes aprenderlo en el Curso de Prework: Configuración de Entorno de Desarrollo en Windows. . Dicho esto, aquí les dejo los pasos de la instalación para NodeJS para Linux y para Windows Subsystem for Linux (Node en su versión más actualizada) . Primero, actualicemos nuestros repositorios (es muy probable que les pida su contraseña):

sudo apt update && sudo apt upgrade

Ahora, añadimos el repositorio de NodeJS el cuál nos proveerá la versión más reciente (este traerá la versión 14, si quieres puedes revisar por la versión 15):

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

Ahora sí procedemos a instalar NodeJS:

sudo apt install nodejs

. Esto te debería instalar NPM y NodeJS, para revisarlo, puedes ejecutar en tu terminal esto

node --version && npm --version

¡Así de fácil es instalar cosas en Linux! . Si quieres hacerlo en Windows entonces ve a la página de NodeJS y ejecuta su instalador (recomiendo la versión LTS) :D

También te recomiendo nvm.

Niiice, con eso es mucho más fácil desarrollar en Windows!

@pabloverduzco recomendó NVM para manejar versiones de Node, también lo sugiero, aunque yo uso FNM (tiene una mejora de performance). Y también existe "n"

Tarea: Obtener información con async/away

tareaConAsync-away.png

Wenos días;

@magali

Genial código, lo he entendido muy bien, gracías.

Link de la API https://platzi-avo.vercel.app/api/avo

Puede ser que necesiten instalar create-snowpack-app para que funcione, Así que pueden usar npm para instalar el paquete

npm install create-snowpack-app```

dont forget

$ sudo

Si a alguien también le sucedió que no le refresca la página automáticamente y tiene que reiniciar el localhost para poder ver los cambios... Aquí les comparto la solución que a mí me funciono:

  1. Primero vamos a crear un nuevo archivo en nuestro proyecto llamado .env

  2. Luego, dentro de este archivo vamos a agregar las siguientes 2 líneas de código:

CHOKIDAR_USEPOLLING=true FAST_REFRESH=false
Screenshot 2022-01-24 105712.png

Ojo. El archivo .env lo debemos crear en la ruta principal de nuestro proyecto, es decir, que no debe estar dentro de ninguna carpeta.

  1. reiniciamos el localhost con las teclas CTRL + C y volvemos a ejecutar el npm start.

  2. Si todavía no se reflejan los cambios automáticamente en el navegador, entonces detenemos nuevamente el localhost y lo volvemos a ejecutar con el siguiente comando:

CHOKIDAR_USEPOLLING=true npm start

Con esto se debería solucionar el problema. Espero que les sea de ayuda :)

No sé que es ese archivo . env, pero ya me actualiza automáticamente los cambios en el navegador. Gracias

Gracias por el intento, pero no me funcionó.

Un poco más gráfico para entenderlo mejor 🤣

node.png

por qué no actualiza los freaking cambios en mi compu? instale snowpack con npm pero aun aí hago cambios y no actualiza los cambios en el browser, no sé nunca he utilizado snopack, hasta hoy ni sabía que existía

X2. Alguna solución?

Me pasó lo mismo. Tenía que cerrar la ventana, parar el proceso en la terminal y volver a correr con npm start.

Si alguien encontró alguna solución, lo agradecería.

Estaba teniendo problemas para crear el proyecto con npx asi que lo instalé de forma global

npm install -g create-snowpack-app

despues ejecute

create-snowpack-app my-app --template snowpack-template-tailwind``` de esta forma me funcionó, yo uso windows

Gracias, lo instalé tal cual. Y funcionó.

Muchas Gracias

a alguien mas le ha tomado 3 días solo esta clase?

¿Qué se te dificulto? :) Preguntando igual siempre podemos obtener explicaciones diferentes.

Hey heyy ¿algo en particular en lo que te podamos ayudar? :D

Que clase mas deliciosa, pude aplicar todos los conocimientos de la ruta como lo fue NPM, JS, Asincronismo, etc. :)

Lo mismo pienso. Aunque me tarde cerca de una hora en esta sola clase, lo sentí súper real, porque me hizo repasar varios conceptos. ¡Me encantó! Ojalá traigan más cursos con el profesor Jonathan.

A alguien mas no le deja hacer el npm start?

Ya me viene dando problemas desde que se instalaron las dependencias con el npx

Por si a alguien le sirve, para detener el localhost desde la terminal basta con teclear crtl + c o cmd + c

Async / await y algunas cositas mas

const base_url = 'https://platzi-avo.vercel.app/'; const fetchData = async () => { const respuesta = await fetch(`${base_url}api/avo`); const datos = await respuesta.json(); let todosItems = []; datos.data.forEach(item => { const imagen = document.createElement('img'); imagen.src = `${base_url}${item.image}`; const titulo = document.createElement('h2'); titulo.textContent = `${item.name}`; const precio = document.createElement('p'); precio.textContent = `${item.price}`; const container = document.createElement('div'); container.append(imagen, titulo, precio); todosItems.push(container); }); document.body.append(...todosItems); } fetchData();

¿como cambio el puerto? Port 8080 not available. Use --port to specify a different port intente con: npm start --port 8081 npm start --port:8081

Intenta así:

npm start -- --port 8081

si funciona con esto:

npm start -- --port 8081```

gracias retax

Porque no me sale la misma estructura del código que al profesor?

photo_2021-04-03_12-35-36.jpg

es porque él tiene instalada una extensión para visualizar de mejor forma los jsons

Aquí el link a la extensión: https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa?hl=es

También puedes usar Postman, para realizar este tipo de consultas de una manera más ordenada te lo recomiendo bastante, en el curso de Postman se aprende muy bien la herramienta