1

実装 (node.js、rhino など) を検出する標準的な方法と、CommonJS でのその実装の理想的なバージョンはありますか。

そうでない場合、人々はそれを得るために何をしますか?

HTTP User-Agentブラウザの世界のヘッダーに似たものを考えています。

4

1 に答える 1

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 の厳密な「バージョン」がありません。Node 、長い間 CommonJS 仕様に対応していません (完全な実装ではなかった最近の AMD 実装は別として)

于 2011-07-13T07:16:45.960 に答える