#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 информация о версии.