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

198
Vistas
Obtenga el archivo en el que se declaró la función en Node.js

Soy relativamente nuevo en Node.js. Desarrollé un script en Python, y ahora quiero convertir partes de él a Node.js y, como resultado, se han creado algunos vacíos que tendré que entender cómo ejecutar en Node.js:

  1. ¿Cómo puedo pasar por la función, el archivo en el que se definió la función?

por ejemplo:

 // a.js function foo(){ console.log("This is function 'foo' which is located in a.js file"); } // b.js function bar(){ console.log("This is function 'bar' which is located in b.js file"); } // main.js // The desired function: getFile(foo); // Will return the path of the a.js file getFile(bar); // Will return the path of the b.js file
  1. La razón por la que necesito saber la ubicación del archivo donde se declaró la función (primera pregunta) es para determinar si es una función que escribió el usuario o si es una función integrada o una función de módulo externo.

Entonces mi segunda pregunta es: ¿hay alguna manera de determinar la fuente de la función de la manera más determinista?

  1. ¿Hay alguna manera de obtener todas las funciones existentes? Incluyendo funciones que fueron importadas de módulos y otros archivos
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solo puede hacer eso desde dentro de la función misma (o una función llamada por esa función). Pero cuando tenga acceso a él, puede usar este truco:

 console.log((new Error()).stack);

Por ejemplo:

 function foo1() { console.log((new Error()).stack); } foo1();

imprimirá:

 > node test.js Error at foo1 (/tmp/test.js:2:16) at Object.<anonymous> (/tmp/test.js:5:1) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47
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