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

273
Visualizações
La mejor manera de evaluar el módulo de código fuente de JavaScript con node.js

Con el nodo, transpilo un archivo tsx mecanografiado int javascript. Luego necesito llamar a una función que se describe en ese código javascript. Se utilizan módulos ES6.

yo suelo

 writeFileSync('./temp/page1.js', js) // js is the module source code import page from '../temp/page1.js'

La página está aquí la exportación predeterminada, que es una función a la que quiero llamar.

Eso funciona bien, pero me pregunto si hay una mejor manera de llamar a la función dentro del código fuente del módulo. Una forma que evita guardar el código fuente en un archivo temporal.

eval no sería un problema de seguridad, pero creo que no me daría la exportación predeterminada, los módulos no se consideran en esta función anterior.

¿Quizás algo relacionado con el nodo?

Encontré https://www.npmjs.com/package/node-eval que evitaría guardar el archivo, aunque todavía requiere un nombre de archivo, lo que causa cierta fragilidad en mi código.

nodo:módulo nodo:vm

son quizás prometedores, mirando https://github.com/node-eval/node-eval/blob/master/index.js pero aún no he descubierto si y cómo.

Similar, pero más relacionado con require: Cargue el módulo node.js desde una cadena en la memoria

https://github.com/floatdrop/require-from-string tampoco funcionó

todas las variantes con node:vm like

 import vm from 'node:vm' let context = vm.createContext({}, {name:"temp1.mjs"}) vm.runInContext(js, context, {filename: "temp2.mjs"})

resultado en "No se puede usar la declaración de importación fuera de un módulo"

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La mejor manera sería la clase de nodos vm.Module

https://nodejs.org/api/vm.html#vm_module_evaluate_options

pero eso está en la etapa de borrador y detrás de las banderas de características.

over 4 years ago · Santiago Trujillo Relatório
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