解决方法
现在最可靠的解决方案是执行节点-h并查看它是否包含iojs.org子字符串.如果是的话 – 这是iojs:
function isIojs(callback) { require('child_process').exec(process.execPath + ' -h',function(err,help) { return err ? callback(err) : callback(null,/iojs\.org/.test(help)); }); }
这种方法的大减 – 它是异步的.所以我写了一个简化工作的小型库:is-iojs.
但坦率地说:谁知道节点版本1何时发布,可能永远不会.所以我认为现在仅基于process.version的决定就足够了:
var isIojs = parseInt(process.version.match(/^v(\d+)\./)[1]) >= 1;
你也可以检查process.execPath字符串,但据我所知,这种方法不适用于windows.