2012-08-27 29 views
5
  • ¿Cómo puedo averiguar en qué parte del código fuente de C++ de node.js se define el objeto JavaScript al que puedo acceder a través del process.binding('eval')? - Ya descubrí que está en /src/node_script.cc en este caso especial, pero: ¿cómo puedo saber dónde puedo encontrar ese módulo cuando acabo de echar un vistazo a la vista general /src/ del directorio? No quiero pasar por todos los archivos en /src/ para buscar un módulo.
  • ¿Dónde puedo encontrar información profunda sobre las partes internas de process.binding() s?

Gracias.node.js Internals: ¿Cómo puedo averiguar dónde se define `process.binding ('eval')`?

Respuesta

2

Estaba buscando lo mismo hoy. No puedo garantizar que no haya más, pero esto es lo que descubrí.

src/node_extensions.h contiene una lista de módulos integrados, que se define como:

ITEM(node_module_name) 

donde module_name es el nombre del módulo (obviamente)

usted puede descubrir que define archivo dicho módulo mediante la búsqueda de qué archivo tiene una línea que comienza con

NODE_MODULE(node_module_name, 

por lo tanto, para encontrar el archivo que define el módulo 'evals' para process.bindings:

$ grep "NODE_MODULE(node_evals" src/*.cc 
src/node_script.cc:NODE_MODULE(node_evals, node::InitEvals) 
Cuestiones relacionadas