我可以推断 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 https://www.npmjs.com/package/is-iojs.
但坦率地说:谁知道 Node 版本 1 何时发布,也许永远不会。所以我认为目前的决定仅基于process.version
足够的:
var isIojs = parseInt(process.version.match(/^v(\d+)\./)[1]) >= 1;
您还可以检查process.execPath
string,但据我所知,这种方法不适用于 Windows。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)