Узел сервер перестает работать после нескольких раз работы - PullRequest
2 голосов
/ 13 апреля 2019

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

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

2) Я немного подправил файлы на сервере, перезапустил.

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

4) Твикнуть больше, перезапустить

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

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

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

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

E:\JsProjects\ssrproj> npm run serve

> ssrproj@0.1.0 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! ssrproj@0.1.0 serve: `cross-env NODE_ENV=production node ./server/index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ssrproj@0.1.0 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

1 Ответ

1 голос
/ 13 апреля 2019

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

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