我已经明确设置为我正在进行的React项目进行服务器端渲染,并且在这个进程之后的一段时间之后它似乎异常停止工作:
1)服务器启动,成功返回页面
2)我稍微调整一下服务器文件,重启。
3)服务器继续工作
4)调整更多,重启
5)即使恢复到步骤1中使用的文件,服务器也会停止工作
6)连接错误将继续显示在将来的所有尝试上,直到删除node_modules并重新加载所有依赖项
因此,虽然目前我有一个解决方法,但每次出现时擦除整个依赖关系集的效率都很高,而且我担心在部署应用程序时是否会出现这种行为。这里发生了什么,我该如何预防呢?
我已经确定节点没有在后台或任何东西中运行的剩余ghost进程,并且完整的运行日志与错误消息所说的并没有太大的不同。不确定这里要考虑的任何其他角度。
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
看起来这个错误可能是由于safe-buffer项目中的竞争条件造成的,这似乎是convert-source-map项目的依赖项。其他人有a similar error when using safe-buffer。这是我的建议。尝试: