У меня есть экспресс-настройка для рендеринга на стороне сервера для проекта 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