¿Cómo detectar desde nodejs en qué motor de JavaScript se está ejecutando?

Ahora hay varias bifurcaciones de nodejs y algunas de ellas admiten motores JavaScript que no sean el motor V8 de Google.

Para que mi código de nodo vea con qué motor JS se está ejecutando, ¿cuál es la mejor manera actualmente?

Los motores que conozco son:

  • V8 de Google: el único motor admitido por node.js oficial y la bifurcación de iojs . Uno de los motores soportados por JXcore .
  • SpiderMonkey de Mozilla: uno de los motores compatibles con JXcore .
  • ChakraCore de Microsoft: el motor admitido por el puerto de nodo.js de Microsoft y, aparentemente, uno de los motores admitidos por JXcore, aunque todavía no lo he hecho.

( He hecho una pregunta aparte sobre la detección de la bifurcación de nodejs que se está utilizando. Esta pregunta es solo sobre la detección del motor JS).

El objeto de process contiene mucha información sobre el proceso actualmente en ejecución (en este caso, nodo).

My process.versions por ejemplo, contiene la versión actual de V8:

 process: { versions: { http_parser: '2.5.0', node: '4.2.4', v8: '4.5.103.35', uv: '1.7.5', zlib: '1.2.8', ares: '1.10.1-DEV', icu: '56.1', modules: '46', openssl: '1.0.2e' } } 

Debería poder consultar este objeto y determinar el motor actual.

    Intereting Posts