我的node.js代码怎么能看到它是否在官方nodejs,iojs,jxcore或node-chakracore下运行?

由于各种原因,现在有几个nodejs的分支。

对于我的节点代码来查看它正在运行哪个分支,目前最好的方法是什么?

我知道的叉子是:

  • 官方nodejs发布
  • iojs – 我猜它现在已经被弃用了,因为它重新join了官方的nodejs,但它仍然很有意思
  • JXcore – 支持多个CPU /内核的分支; 包括V8,Mozilla的SpiderMonkey和微软的ChakraCore在内的多个JS引擎; 和包装的js应用程序,所以npm不需要由应用程序的用户使用
  • 微软的nodejs使用他们的Edge浏览器的ChakraCore JS引擎通过一个V8兼容垫片

( 我还问过一个关于检测使用哪个JS引擎的同伴问题,这个问题只是关于检测哪个fork被使用。

NodeJS和iojs可能被process.release检查:

name:一个string,它的值始终是Node.js的“节点”。 对于传统的io.js版本,这将是'io.js'。

至于JXcore,你可以使用process.jxversiontypeof jxcore !== 'undefined'