Node.js процесс.версии.узел не определен

#node.js #reactjs

#node.js #reactjs

Вопрос:

Я использую библиотеку react, которая пытается получить доступ к process.versions.node. Это значение пустое, когда я регистрирую его на консоли. Я пытался удалить и переустановить node.js (с помощью программы установки). Я использую версию узла v14.15.0 на macOS 10.15.7.

Ошибка:

Ошибка типа: не удается прочитать свойство ‘split’ неопределенного

Строка кода, о которой идет речь:

 const nodeMajor = Number(process.versions.node.split('.')[0])
  

Когда я регистрирую это, я получаю undefined:

 console.log(process.versions.node)
//undefined
  

Почему это значение должно быть неопределенным и как я могу это исправить?

Комментарии:

1. node -p 'process.versions' показывает мне объект, включающий node реквизит, как и ожидалось, в настоящее время узел 12.18.3 через NVM на macOS.

2. Насколько я знаю, вы не можете получить доступ process в своем браузере (просто предположение, поскольку вы используете React). Используете ли вы Webpack или что-нибудь еще?

3. Я вижу process.versions. узел на терминале. Однако он никогда не устанавливается в модуле узла. Я регистрирую консоль изнутри модуля узла. Я могу регистрировать процесс в react, и у него есть значения, но свойство version пустое.

4. Запуск узла и выдача const nodeMajor = Number(process.versions.node.split('.')[0]) работают просто отлично, а в журнале консоли nodeMajor указано 14 при использовании версии 14.x, поэтому вам нужно быть более точным: как вы запускаете этот код? (на заметку JS, вместо Number типа объекта вместо этого используйте parseInt(...) или parseFloat(...) для преобразования строк в числа)

5. Я использую библиотеку react и пытаюсь ее отладить. Я отправил проблему с проектом на GitHub, но теперь я считаю, что это связано с моей средой узла. github.com/elastic/elasticsearch-js/issues/1345

Ответ №1:

Я использовал этот компонент в react.js применение. Поскольку react.js отображается в браузере, имеет смысл, что нет node.js информация о версии.