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

135
Vistas
Webpack no puede resolver `require`s no js desde dentro de node_modules

Tengo un proyecto Next.js configurado para resolver las importaciones que terminan en .web.js . Esto funciona fuera de mi directorio node_modules. Hice esto configurando resolve.extensions = ['.web.js, '.js', '.jsx'] en la configuración de mi paquete web. Entiendo que esta configuración es responsable de resolver las importaciones que no tienen una extensión, por ejemplo, import _ from './component' , cuando existe ./component.web.js .

También tengo algunos node_modules que usan esta extensión .web.js . Son módulos privados, pero la idea se mantiene. Digamos que nuestros node_modules se ven así. Puede valer la pena señalar que estos módulos ya se han transpilado y, como tal, el uso require en lugar de import .

 - node_modules - @foo - bar.js - baz.web.js - baz.native.js

Ahora digamos que tenemos lo siguiente:

 // bar.js require("./baz");

Si trato de importar @foo/bar , la aplicación generará un error de módulo no encontrado en la línea require("./baz"); diciendo que no se puede encontrar. Si lo cambio a require("./baz.web.js") o elimino la línea por completo, entonces la aplicación funciona bien.

¿Por qué webpack puede hacer este tipo de resoluciones fuera de node_modules, pero no dentro del directorio? ¿Y cómo puedo decirle a webpack que también resuelva esas importaciones?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Dependiendo de la estrategia de resolución de su módulo, encontrará algunos archivos o no. Node.js resuelve los módulos como se describe aquí . Esto significa que require('./baz') se resuelve para solicitar /path/to/module/baz.js . Dado que su archivo en realidad no tiene nombre, no se encuentra. Puede usar require('./baz.web') en su lugar.

En cuanto a si Webpack puede manejar "automáticamente" qué importación usar, probablemente se deba a usar un complemento o tener algún tipo de lógica en bar.js para elegir entre baz.web y baz.native .

about 4 years ago · Juan Pablo Isaza 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