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

207
Vistas
¿Cómo vincular módulos de nodos dinámicos sin un sistema de archivos?

Actualmente, estoy tratando de desarrollar una herramienta que haga posible empaquetar un módulo JS en un archivo tar y luego cargarlo en Node.js dinámicamente y en memoria.

Funciona perfectamente cuando se importa un solo archivo JS que no tiene dependencias con otros archivos. Pero cuando hay dependencias, todavía no puedo unirlas.

Una estructura de ejemplo en el archivo podría verse así:

 someArchive.tar.gz - foo.js - package.json - lib - bar.js

La relación entre los dos módulos podría verse así (foo.js):

 import { something } from "./lib/bar.js";

Para que sea posible usar un archivo JS archivado en general, estoy usando el paquete "adm-zip" -npm-package, que me permite manejar archivos en memoria.

Importante: Lamentablemente, no puedo usar el sistema de archivos de ninguna manera para este proyecto.

Si bien el paquete "adm-zip" me permite manejar los datos en sí, estoy construyendo el objeto del módulo por mi cuenta usando el Module-Constructor:

 const Module = module.constructor; const m = new Module(); const moduleName = "<Filename relative to archive root>"; m.children = [ <the module-object from bar.js> ]; m._compile(<fooContentFromArchive>, moduleName); m.path = <moduleName without filename>; m.id = moduleName; m.filename = moduleName; return m;

Como puede ver, ya puse el objeto-módulo dependiente en la matriz-hijos del objeto-módulo superior. Por lo que entendí, la matriz de niños contiene módulos dependientes.

Pero desafortunadamente, no funciona.

Sé que lo que estoy haciendo es muy especial y complicado, y especialmente usar el sistema de archivos haría que todo fuera mucho más fácil, pero como se mencionó, tengo la limitación de que no tengo acceso al sistema de archivos.

Además, no he encontrado ningún paquete npm que me permita resolver el problema (si lo hago funcionar, podría crear uno).

¿Tienes alguna idea de lo que podría intentar?

¡Gracias de antemano!

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