在铬错误中反应原生调试
问题描述:
我使用react-native来开发Android应用程序。当应用程序运行时,我想选择从反应本土开发商菜单Debug in Chrome
,那么它的应用程序崩溃,但在控制台,在那里我运行命令react-native start
我看到的错误:在铬错误中反应原生调试
Launching Dev Tools...
ERROR Wrong length!
RangeError: Wrong length!
at validateArrayBufferArguments (/Users/sergiigetman/IdeaProjects/mbc_kidsvod_client/node_modules/babel-polyfill/node_modules/core-js/modules/_typed-buffer.js:157:39)
at new ArrayBuffer (/Users/sergiigetman/IdeaProjects/mbc_kidsvod_client/node_modules/babel-polyfill/node_modules/core-js/modules/_typed-buffer.js:247:29)
at createUnsafeArrayBuffer (buffer.js:43:12)
at createUnsafeBuffer (buffer.js:37:25)
at allocate (buffer.js:199:12)
at Function.Buffer.allocUnsafe (buffer.js:162:10)
at new Buffer (buffer.js:93:19)
at BufferPool.reset (/Users/sergiigetman/IdeaProjects/mbc_kidsvod_client/node_modules/ws/lib/BufferPool.js:57:26)
at Receiver.endPacket (/Users/sergiigetman/IdeaProjects/mbc_kidsvod_client/node_modules/ws/lib/Receiver.js:247:68)
at Receiver.finish (/Users/sergiigetman/IdeaProjects/mbc_kidsvod_client/node_modules/ws/lib/Receiver.js:483:12)
没有发现任何类似的问题,在堆栈和互联网上。
答
我已经能够重现这个错误,它看起来像是一个边缘案例,因为运行带有babel-polyfill版本6.16.0的早期版本的React Native(0.22.x)。当前版本的React Native(0.40.0)和Babel Polyfill(6.20.0)不会发生该错误。我们不认为它是相关的,但我们正在运行节点7.2.0。
如果无法更新您的环境,一个临时的解决方法是编辑“通天塔,填充工具/ node_modules /核心JS /模块/ _typed-buffer.js”和修改行157和175是缓冲区检查文件:
if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);
如果您正在运行通天塔,填充工具6.20.0那么你的文件将在这里:
node_modules/core-js/modules/_typed-buffer.js
我们已经能够让我们的开发环境中工作,通过评论这个长度检查但是要警惕空头,你可能不想让这个产品投入生产。
+0
是的,我完全通过评论该行来解决它。 –
看起来像是与'babel-polyfill'有关,我甚至发现了类似的问题,但它没有帮助https://github.com/zzarcon/microm/issues/22 –
同样的问题,手动加载带有“http:// localhost:8081/debugger-ui”的Chrome会导致“Site can not be reached”,表示本地端口关闭。我们使用早期版本的react-native(0.22),但没有迹象表明问题与此相关。 – bitsand
@bitsand嗨,谢谢你的回应。其实我刚刚评论过检查数组缓冲区长度的句子并继续进行。我知道这不是建议,但它在我的js世界工作 –