Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 用CORS—;处理本机JS调试器问题;网间网操作系统_React Native_Localhost_Remote Debugging - Fatal编程技术网

React native 用CORS—;处理本机JS调试器问题;网间网操作系统

React native 用CORS—;处理本机JS调试器问题;网间网操作系统,react-native,localhost,remote-debugging,React Native,Localhost,Remote Debugging,我对iOS上的react原生JS调试器有问题。当我尝试使用JS调试器工具调试我的应用程序时,会发生此错误。我在网上尝试了不同的解决方案,但没有成功。是否有人遇到此错误并设法修复 复制: 1) 在真正的iOS设备上运行开发应用程序,从 2) 启用在Chrome中打开的JS远程调试工具 3) 重新加载捆绑包,Chrome DevTools控制台显示以下错误: 加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。如果不透明响应满足您的需要

我对iOS上的react原生JS调试器有问题。当我尝试使用JS调试器工具调试我的应用程序时,会发生此错误。我在网上尝试了不同的解决方案,但没有成功。是否有人遇到此错误并设法修复

复制:

1) 在真正的iOS设备上运行开发应用程序,从

2) 启用在Chrome中打开的JS远程调试工具

3) 重新加载捆绑包,Chrome DevTools控制台显示以下错误:

加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源。 (索引):188未捕获(承诺中)类型错误:无法获取

"react": "16.2.0",
"react-native": "0.52.1"

尝试使用
http://172.16.23.27.xip.io:8081/debugger-ui/
用于调试

  • 打开
    /node\u modules/metro/src/Server\index.js

  • 查找
    \u processDeltaRequest

      mres.setHeader(FILES_CHANGED_COUNT_HEADER, String(output.numModifiedFiles));
      mres.setHeader('Content-Type', 'application/javascript');
      mres.setHeader('Content-Length', String(Buffer.byteLength(output.bundle)));
    + mres.setHeader('Access-Control-Allow-Origin', '*');
      mres.end(output.bundle);
    

  • 安装镀铬加长件。它将CRO添加到响应头。

    只是为了添加到这一点,如果有人在iOS上进行开发,那么Android(反之亦然)

    如果你收到了这条信息,并且它以前工作过;例如,我正在处理一个iOS项目,然后关闭了我的Metro捆绑包,打开cmd并为Android构建。我的调试器以前处理过我的Android项目,但在这个过程之后,我收到了CORS问题


    只需关闭Chrome中的debugger选项卡,然后在React Native Dev菜单中再次打开。重建项目,嘿,普雷斯托!如果你正处于这样的情况,那么这可能也是你的方法

    你试过这个chrome扩展吗?它会自动将CORS添加到响应标题。@robi谢谢。我相信这已经解决了问题。我安装了这个,但没有任何区别。当我在Chrome调试器中使用网络选项卡检查时,我没有看到任何允许控件-。。。下面来自JRK的非常简单的修复为我解决了这个问题。你不需要这个chrome扩展。这不是一个解决方案,它在其他浏览器中不起作用。使用
    http://IP_HERE:8081/debugger_ui/
    是我的解决方案。太棒了,真管用!给其他人一个提示-你必须重新启动你的软件包。这个补丁真的帮助我让我的应用程序重新运行。它应该得到更多的支持。我使用的是Exp27,在应用上述修复程序之前,远程调试不起作用。谢谢!公认的解决方案仅在Chrome中有效,这应该是公认的解决方案。根据选项2编辑metro服务器是唯一对我有效的方法。Expo 32.0.0中不存在这一点。我在发布问题后找到了这个答案。这确实奏效了。我注意到,该地址现在是我的本地ip地址:8081/debugger ui,而不是通常的localhost:8081/debugger ui。谢谢你发布这个!多谢各位