получить информацию о текущей реализации commonjs - PullRequest
1 голос
/ 13 июля 2011

Существует ли стандартный способ определения реализации (node.js, Rhino и т. Д.) И в идеале версия этой реализации в CommonJS.

Если нет, что люди делают, чтобы получить его?

Я думаю, что-то похожее на заголовок HTTP User-Agent в мире браузеров.

1 Ответ

0 голосов
/ 13 июля 2011

Нет, но вы можете определить, находитесь ли вы внутри узла, например:

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, которую он реализует. Узел не давно не обслуживал спецификаций CommonJS (за исключением недавней реализации AMD *1016*, которая в любом случае не была полной реализацией).

...