Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

215
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda