【问题标题】:react-native debug in chrome errorchrome错误中的react-native调试
【发布时间】:2017-03-27 22:51:44
【问题描述】:

我使用 react-native 开发 Android 应用程序。运行应用程序时,我尝试从 react-native 开发人员菜单中选择 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 相关,我什至发现了类似的问题,但它没有帮助github.com/zzarcon/microm/issues/22
  • 遇到同样的问题,在 Chrome 上手动加载“localhost:8081/debugger-ui”会产生“无法访问站点”,表明本地端口已关闭。我们使用的是早期版本的 react-native (0.22),但没有迹象表明问题与此有关。
  • @bitsand 嗨,谢谢您的回复。实际上我只是评论了检查数组缓冲区长度并继续进行的句子。我知道不推荐,但它适用于我的 js 世界
  • 你在使用热重载吗?
  • @bitsand 我用过。但我不再从事这项任务和反应原生了

标签: android react-native google-chrome-devtools react-native-android


【解决方案1】:

我已经能够重现此错误,并且由于使用 babel-polyfill 版本 6.16.0 运行旧版本的 React Native (0.22.x),这似乎是一个边缘情况。当前版本的 React Native (0.40.0) 和 Babel Polyfill (6.20.0) 不会出现该错误。我们认为这无关紧要,但我们正在运行节点 7.2.0。

如果您无法更新您的环境,一种临时解决方法是编辑 'babel-polyfill/node_modules/core-js/modules/_typed-buffer.js' 并修改该文件第 157 和 175 行的缓冲区检查:

if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);

如果您正在运行 babel-polyfill 6.20.0,那么您的文件将在这里:

node_modules/core-js/modules/_typed-buffer.js

我们已经能够通过评论这个长度检查来让我们的开发环境正常工作,但是需要注意的是,您可能不想让它进入生产环境。

【讨论】:

    猜你喜欢
    • 2017-03-17
    • 2023-01-03
    • 2023-03-07
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2016-04-27
    • 2019-10-05
    • 1970-01-01
    相关资源
    最近更新 更多