如何从nodejs检测到它正在运行的JavaScript引擎?

现在有几个nodejs的分支,其中一些支持除了Google的V8引擎以外的JavaScript引擎。

对于我的节点代码来看它运行在哪个JS引擎上,目前最好的方法是什么?

我知道的引擎是:

  • 谷歌的V8 – 官方node.jsiojs分支支持的唯一引擎。 JXcore支持的引擎之一
  • Mozilla的SpiderMonkeyJXcore支持的引擎之一
  • 微软的ChakraCore微软的node.js端口支持的引擎,显然是JXcore支持的引擎之一,虽然我还没有那个工作。

( 我已经提出了一个关于检测使用哪个nodejs分支的问题,这个问题只是关于检测JS引擎。

process对象包含大量有关当前正在运行的过程的信息(在本例中为节点)。

例如,我的process.versions包含当前版本的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' } } 

你应该能够查询这个对象并确定当前的引擎。

Interesting Posts