【问题标题】:what's the principle of debugging react-native remotely in chrome?chrome远程调试react-native的原理是什么?
【发布时间】:2020-06-10 01:31:15
【问题描述】:

我知道 chrome devtool 可以用作开放式调试器前端,通过 websocket 从调试器主机接收调试信息并显示它们,例如源文件和控制台日志,它还为单个程序提供流控制 GUI step 任务,只要宿主支持即可。

但是根据ReactNative的远程调试页面:

React Native JS 代码在此选项卡内作为 Web Worker 运行。

看来chrome不仅是前端,还执行被调试的代码?所以我的问题是:

1.设备相关代码如何在chrome中执行?

2.设备也会执行代码吗?如果是,它和chrome有什么关系?如果不是,该应用程序如何在设备中运行?

【问题讨论】:

标签: google-chrome debugging react-native


【解决方案1】:

1.设备相关代码如何在chrome中执行?

在 Chrome 调试模式下,JavaScript 代码在 Chrome 本身(而不是设备上的 JavaScriptCore)内运行,并通过 WebSocket 与本机代码通信。在这里,它将使用 V8 引擎。这让我们可以看到很多关于 Chrome 调试工具的信息,比如网络请求、控制台日志等。

Source: React Native Made Easy

请注意,Chrome 的 V8 Javascript 引擎并不是唯一可以使用的 React Native,您也可以在 Safari 中进行调试,并且代码将在 Safari 的 JavascriptCore 上运行。见this for more

2.设备也会执行代码吗?如果是,它和chrome有什么关系?如果不是,该应用如何在设备中运行?

不,JS 代码只在一个地方执行,如果您正在调试,则可以是浏览器的 javascript 引擎,因此通过 Websockets 与设备通信,或者如果在没有调试的情况下运行,则可以在设备的 JavascriptCore 处执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2019-10-05
    • 2017-12-29
    • 2017-10-09
    • 2012-10-18
    • 1970-01-01
    • 2019-08-17
    • 2014-03-19
    相关资源
    最近更新 更多