Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

267
Views
Next.js: la mejor manera de servir JS estático desde la carpeta "dist" de un módulo de nodo

Estoy trabajando con una aplicación que usa Tesseract (OCR) para leer texto de imágenes.

Me gustaría tomar algunos archivos JS de node_modules/tesseract.js/dist y hacerlos descargables en el navegador.

Sé que puedo simplemente copiar los archivos a ./public y next.js lo servirá de forma estática desde allí, pero luego, si actualizo mi versión de Tesseract, es posible que también deba actualizar esos archivos. Así que el mantenimiento se convierte en un problema.

Mi primer pensamiento es personalizar la configuración de mi paquete web para copiar los archivos de node_modules/tesseract.js/dist a ./public/tesseract (o algo así). Eso aseguraría que los archivos se vuelvan a copiar si actualizo Tesseract. Pero no soy particularmente experto en webpack y aún no he descubierto cómo hacerlo.

Mi segundo pensamiento fue "proxy" la recuperación del contenido del archivo JS y simplemente hacer que el contenido esté disponible como una "página" en next.js (pero esto parece super hacktastic).

Siento que esto es algo que no debería ser tan complicado... pero aún no he podido resolverlo por mí mismo.

¡Gracias por adelantado!

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sí, de acuerdo, actualizar su servidor para servir una ruta de node_modules suena un poco peligroso.

Personalmente, simplemente copiaría estos archivos con el paquete web como mencionaste.

Aquí están los documentos en Next.js sobre cómo configurar una configuración personalizada de paquete web .

next.config.js

 const CopyPlugin = require("copy-webpack-plugin"); module.exports = { webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => { // append the CopyPlugin to copy the file to your public dir config.plugins.push( new CopyPlugin({ patterns: [ { from: "node_modules/tesseract.js/dist", to: "public/" }, ], }), ) // Important: return the modified config return config }); };

A propósito, no incluí la ruta public/tesseract , no estoy seguro de si CopyPlugin generará automáticamente los directorios faltantes si no existen en el momento de la compilación.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!