如何从nodejs检测到它正在运行的JavaScript引擎?
现在有几个nodejs的分支,其中一些支持除了Google的V8引擎以外的JavaScript引擎。
对于我的节点代码来看它运行在哪个JS引擎上,目前最好的方法是什么?
我知道的引擎是:
- 谷歌的V8 – 官方node.js和iojs分支支持的唯一引擎。 JXcore支持的引擎之一 。
- Mozilla的SpiderMonkey – JXcore支持的引擎之一 。
- 微软的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' } }
你应该能够查询这个对象并确定当前的引擎。