5

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

为了让我的节点代码查看它在哪个 JS 引擎下运行,目前最好的方法是什么?

我知道的引擎是:

  • Google 的V8 - 官方node.jsiojs fork支持的唯一引擎。JXcore支持的引擎之一。
  • Mozilla 的SpiderMonkey - JXcore支持的引擎之一。
  • Microsoft's ChakraCore - Microsoft的 node.js 端口支持的引擎,显然是JXcore支持的引擎之一,尽管我还没有让那个引擎工作。

我问了一个单独的问题,关于检测正在使用哪个分叉的 nodejs。这个问题只是关于检测 JS 引擎。)

4

1 回答 1

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

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

于 2016-01-27T13:00:14.360 回答