是否有检测实现(node.js、rhino 等)的标准方法以及 CommonJS 中该实现的理想版本。
如果没有,人们怎么做才能得到它?
我正在考虑类似于HTTP User-Agent
浏览器世界中的标题。
不,但您可以检测您是否在节点内,例如:
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 的严格“版本”。Node已经 很久没有迎合 CommonJS 规范了(除了最近的AMD实现,它无论如何都不是一个完整的实现)。