You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Homestead实现React-Native-Expo对接Laravel API

解决Expo React Native访问Homestead Laravel API的网络错误问题

1. 确认Homestead虚拟机的IP地址

打开Homestead目录下的Homestead.yaml文件,找到ip字段(通常为192.168.10.10),记下该IP地址。

2. 调整Laravel的CORS配置

编辑Laravel项目根目录下的config/cors.php文件,修改以下配置项:

  • 将allowed_origins设为['*'](开发环境下允许所有来源,生产环境再限定具体域名)
  • allowed_methods设为['*']
  • allowed_headers设为['*']
  • supports_credentials设为true

修改完成后,在Homestead虚拟机内执行php artisan config:cache刷新配置缓存。

3. 修改Expo应用的请求URL

把axios请求的https://mylaravelapp.test/api/movies替换为Homestead虚拟机IP+API路径,示例代码:

axios.get('http://192.168.10.10/api/movies')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));

注意:开发环境优先使用http而非https,避免设备不信任Homestead自签名SSL证书导致的网络错误。

4. 确保设备与Homestead在同一网络环境

  • 物理手机测试:手机需和运行Homestead的电脑连接同一个WiFi网络
  • Android模拟器:可直接使用Homestead的IP,或用10.0.2.2(模拟器内置的主机映射地址)替代Homestead IP
  • iOS模拟器:直接使用Homestead的IP即可

5. 验证Homestead的端口映射

检查Homestead.yaml的ports配置,确保主机的80/443端口已映射到虚拟机对应端口:

ports:
    - send: 80
      to: 80
    - send: 443
      to: 443

若配置正确,也可通过主机的局域网IP访问API(比如主机IP为192.168.3.15,则请求http://192.168.3.15/api/movies)。

内容的提问来源于stack exchange,提问作者ST80

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:42:16