Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
Transmisión y análisis de un archivo CSV en el navegador (nodo/paquete web)

Hace un tiempo, armé un proyecto de nodo que fue diseñado para ejecutarse en el navegador, y una de las cosas principales que hace es analizar los archivos CSV que transmite desde un servidor y operar en ellos en fragmentos. Cuando inicialmente armé esto, IE11 era una preocupación, y a través de una cantidad poco saludable de cafeína y probablemente algunos sacrificios a varios dioses mayores, logré que algo funcionara en su mayoría (obviamente no con la transmisión real, pero lo suficientemente cerca). Ahora, estoy en el proceso de actualizar las dependencias y volver a trabajar, ya que IE11 ya no es una preocupación. Sin embargo, entre Webpack> 5 y algunos otros paquetes que tienen cambios importantes, estoy luchando para que el análisis de CSV se comporte. La versión corta de lo que solía hacer era:

 import { ReadableWebToNodeStream } from "readable-web-to-node-stream"; var csv = require("csv-parse/lib/es5") [...] var response = fetch(csv_url); new ReadableWebToNodeStream(response.body).pipe(csv()) .on('data', async (row) => { // Deals with the data here }).on('end', async () => { // Finishes up });

Lo cual funcionó. El problema es que con los cambios en el paquete web (supongo), esa biblioteca ReadableWebToNodeStream ya no funciona de la manera que esperaba, y prefiero hacerlo de la manera correcta ahora que IE11 ya no me obliga a hacer cosas horribles. Todavía tengo que hacer algunas transformaciones en los datos entrantes, así que prefiero mantener la entrada como una secuencia para no consumir una gran cantidad de memoria (estos archivos CSV tienen el potencial de ser enormes), pero Estoy luchando por encontrar una manera de interactuar con Web ReadableStreams usando csv-parse.

Así que supongo que el consejo que me gustaría es:

  1. ¿Hay alguna manera de analizar un ReadableStream que no sea de nodo usando csv-parse?
  2. ¿Hay alguna manera de configurar el paquete web para que una transmisión se comporte como una transmisión de estilo de nodo, a pesar de ejecutarse en el navegador?
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Por lo tanto, este problema se debió a la actualización del paquete web 5+ que provocó que los módulos del núcleo del nodo ya no estuvieran polillenados. Supuse erróneamente que el polyfilling fetch + streams sería suficiente, pero necesitaba polyfills adicionales (en mi caso, el proceso era el culpable). Esta pregunta tiene más información sobre lo que cambió en la actualización y lo que se debe policompletar. Con todo polillenado, pude canalizar los CSV que estaba obteniendo a través de csv-parse como antes.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda