5
現在有幾個nodejs的分支,其中一些支持除了Google的V8引擎以外的JavaScript引擎。如何從nodejs檢測到它正在運行的JavaScript引擎?
對於我的節點代碼來查看它運行在哪個JS引擎下,目前最好的方法是什麼?
我所知道的發動機是:
- 谷歌的V8 - 由官方node.js的和iojs叉支持的唯一引擎。由支持的引擎之一JXcore。
- Mozilla的SpiderMonkey - 支持的引擎之一JXcore。
- 微軟ChakraCore - 通過node.js中的微軟的端口和JXcore支持,雖然我還沒有得到這一個工作尚未引擎顯然一個支持的引擎。
(I've asked a separate question about detecting which fork of nodejs is being used.這個問題是隻有大約檢測JS引擎。)
「進程」和「版本」對象中的字段實際上在nodejs端口之間具有不同的字段。我想記錄一個答案的差異,但到目前爲止,我無法比較MS的nodejs與ChakraCore與Chakra的JXcore,因爲我無法找到[如何在Windows 7上使用後者](http://stackoverflow.com /問題/ 35055401)。 – hippietrail
JXcore還將引擎版本號保存在'process.versions'中。目前這是'v8','sm'(SpiderMonkey)或'ch'(Chakra)。 – infografnet