Ylo*_*lor 1 react-native-debugger
问题: 从 Expo Go 启动 JS 调试不会连接到 React Native 调试器,而是在 Windows 11 上打开一个单独的开发工具窗口。
完整描述
我启动React Native Debugger(.exe文件,v0.13.0),将端口调整为mach expo(19000),然后在模拟上运行我的expo(expo v 6.3.2)应用程序(“ npx expo start”后跟“ ”)A装有 Expo Go 的 Android 设备(全部运行于 Windows 11)。expo 和 RNDebugger 都位于同一端口 19000。
尽管如此,从开发菜单(或从带有“ J”的expo控制台)启动JS调试会启动一个单独的Chrome开发工具窗口(它也与任何浏览器分开),并且不会连接到React Native Debugger。有谁知道为什么?我可以手动强制 expo 使用 React Dev Tools 吗?
可能的线索? devtools 总是作为一个单独的 chrome 开发工具窗口启动,而不是在我的 chrome 浏览器中启动。不知道这和上面的错误有没有关系。
我尝试过的
$env:REACT_DEBUGGER="unset ELECTRON_RUN_AS_NODE; start-process 'rndebugger://set-debugger-loc?host=localhost&port=19000'" npx expo start”"jsEngine": "jsc"按照另一个线程中的建议,在 app.json 中的 expo 对象中进行设置。给出了错误:“ No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.”编辑:
使用下面的“工作”解决方案一段时间后,我注意到,如果连接了 RNDebugger,有时工作正常的代码将停止工作。似乎这是因为某些 expo/react 本机功能仅适用于"jsEngine": "hermes",这似乎是默认设置。不幸的是,在撰写本文时,RNDebugger 还不支持Herems。对我来说,这意味着目前使用 RNDebugger 是不值得的,因为我不能相信无论有没有它,代码的行为都是一样的。
对我来说有效的解决方案:我终于成功地使用 Ahmed-Elswerky 在这篇文章
中的回复自行解决了这个问题。这是对我有帮助的程序。
"jsEngine": "jsc",在 app.json 中的“expo”对象内添加该行。{
"expo": {
(...)
"jsEngine": "jsc",
}
(...)
}
Run Code Online (Sandbox Code Playgroud)
adb version。如果没有,请将其添加到环境变量中的路径(默认:)C:\Users\<YOUR_USERNAME>\AppData\Local\Android\Sdk\platform-tools并重新启动 PowerShell。adb reverse tcp:19000 tcp:19000(假定19000是expo和RNDebugger使用的端口)npx expo start)我希望这可以帮助别人!
| 归档时间: |
|
| 查看次数: |
3063 次 |
| 最近记录: |