Сервер Node перестает работать после нескольких раз работы

У меня есть экспресс-настройка для рендеринга на стороне сервера для проекта React, над которым я работаю, и, похоже, он просто аномально перестает работать через определенное время после этой прогрессии:

1) Сервер поднимается, успешно возвращает страницы

2) Чуть правлю файлы сервера, перезагружаюсь.

3) Сервер продолжает работать

4) Настроить больше, перезапустить

5) Сервер перестает работать, даже если вернуться к файлам, использованным с шага 1.

6) Прикрепленная ошибка продолжает отображаться при всех последующих попытках, пока node_modules не будет удален и все зависимости не будут перезагружены.

Итак, хотя на данный момент у меня есть обходной путь, далеко не эффективно стирать весь набор зависимостей каждый раз, когда это происходит, и у меня есть опасения, что такое поведение может появиться при развертывании приложения. Что здесь происходит и как это предотвратить?

Я убедился, что в узле нет оставшихся призрачных процессов, работающих в фоновом режиме или чего-то еще, и полный журнал выполнения не сильно отличается от сообщения об ошибке. Не уверен, что здесь можно рассмотреть какие-либо другие ракурсы.

E:\JsProjects\ssrproj> npm run serve

> [email protected] serve E:\JsProjects\ssrproj
> cross-env NODE_ENV=production node ./server/index.js

E:\JsProjects\ssrproj\node_modules\convert-source-map\index.js:61
  return SafeBuffer.Buffer.from(json, 'utf8').toString('base64');
                           ^

TypeError: Cannot read property 'from' of undefined
    at Converter.toBase64 (E:\JsProjects\ssrproj\node_modules\convert-source-map\index.js:61:28)
    at Converter.toComment (E:\JsProjects\ssrproj\node_modules\convert-source-map\index.js:65:21)
    at generateCode (E:\JsProjects\ssrproj\node_modules\@babel\core\lib\transformation\file\generate.js:78:76)
    at runSync (E:\JsProjects\ssrproj\node_modules\@babel\core\lib\transformation\index.js:50:51)
    at transformSync (E:\JsProjects\ssrproj\node_modules\@babel\core\lib\transform.js:43:38)
    at Object.transform (E:\JsProjects\ssrproj\node_modules\@babel\core\lib\transform.js:22:38)
    at compile (E:\JsProjects\ssrproj\node_modules\@babel\register\lib\node.js:73:20)
    at compileHook (E:\JsProjects\ssrproj\node_modules\@babel\register\lib\node.js:102:12)
    at Module._compile (E:\JsProjects\ssrproj\node_modules\pirates\lib\index.js:93:29)
    at Module._extensions..js (internal/modules/cjs/loader.js:700:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] serve: `cross-env NODE_ENV=production node ./server/index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\user\AppData\Roaming\npm-cache\_logs\2019-04-13T15_17_36_311Z-debug.log

Похоже, ошибка исходит от convert-source-map. Подумайте об отключении его в рабочей среде.

Andrew Eisenberg 13.04.2019 19:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
169
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, эта ошибка может быть связана с состоянием гонки в проекте сейф-буфер, которое, по-видимому, является зависимостью от проекта convert-source-map. У других людей была аналогичная ошибка при использовании safe-buffer. Вот мои предложения. Попробуйте либо:

  1. Убедитесь, что у вас установлены последние версии для convert-source-map и всего связанного с ним проекта.
  2. Избегайте использования convert-source-map в рабочей среде.

Обновление родительских проектов с его помощью, кажется, сработало (периодические проблемы трудно быстро подтвердить), спасибо. В любом случае, похоже, вы правы насчет типа ошибки. Вероятно, о нем не так много сообщают, если это зависит от платформы.

Vigilant 16.04.2019 01:56

Другие вопросы по теме