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

时间:2016-01-27 12:18:35

标签: node.js spidermonkey javascript-engine jxcore chakra

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

我的节点代码要查看它运行的JS引擎,目前最好的方法是什么?

我所知道的引擎是:

  • Google的 V8 - 官方 node.js iojs 支持的唯一引擎。 JXcore 支持的引擎之一。
  • Mozilla的 SpiderMonkey - JXcore 支持的其中一个引擎。
  • 微软的 ChakraCore - 由 Microsoft 的node.js端口支持的引擎,显然是 JXcore 支持的引擎之一,尽管我还没有那个工作呢。

I've asked a separate question about detecting which fork of nodejs is being used.这个问题只是关于检测JS引擎。)

1 个答案:

答案 0 :(得分:7)

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'
    }
}

您应该能够查询此对象并确定当前引擎。