是否有一种标准的方法来检测实现(node.js,rhino等)以及CommonJS中该实现的理想版本。
如果没有,人们会做些什么来获得它?
我正在考虑类似于浏览器世界中的HTTP User-Agent
标题。
答案 0 :(得分:0)
不,但你可以检测到你是否在节点内,例如:
if (typeof process !== 'undefined') {
console.log('node!');
}
如果你想绝对肯定它的节点:
if (typeof process !== 'undefined'
&& process && process.versions
&& process.versions.node) {
console.log('node version:', process.version);
}
我不能说其他环境,(我从未使用过Rhino)。
但是为了更深入地回答你的问题,Node并没有它实现的CommonJS的严格“版本”。节点hasn't been现在已经很长时间适应CommonJS规范了(除了recent AMD implementation,这还不是一个完整的实现)。