有没有可靠的方法来检测io.js或node.js是否在运行?

我能够推断出node.js或io.js是否运行的唯一方法是检查process.versions.node 。 在io.js中,我得到1.0.4。

我确定有更好的方法 - 有人知道吗?


现在最可靠的解决方案是执行node -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。

链接地址: http://www.djcxy.com/p/24469.html

上一篇: Is there a reliable way of detecting whether io.js or node.js is running?

下一篇: CMake override native compiler flags