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

Expo Go自动更新故障:热重载功能无法正常工作

解决React Native Expo热重载失效及警告问题

一、热重载失效排查与修复

1. Expo Go移动端

  • 确认设备和电脑在同一网络:手机和开发机必须连同一个WiFi,或者用USB调试模式,执行命令开启端口映射:adb reverse tcp:8081 tcp:8081
  • 手动触发重载:在Expo Go里摇一摇设备,或按Ctrl+R(Android)/Cmd+R(iOS),选择「Reload」;同时确保开启「Enable Fast Refresh」选项
  • 清除项目缓存:执行命令彻底清理缓存后重启服务
    npx expo start --clear
    
  • 对齐Expo版本:检查expo-cli和项目依赖的expo版本是否匹配,执行npm list expo查看,版本不一致则更新到稳定版:
    npm install expo@latest
    npm install -g expo-cli@latest
    

2. Web端(npm run web)

  • 核对Fast Refresh配置:如果自定义过webpack.config.js,确保react-refresh插件已正确集成;Expo默认配置自带该插件,若被修改需补加:
    const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
    // 在plugins数组中添加
    new ReactRefreshWebpackPlugin()
    
  • 清除Web端缓存:执行npm run web -- --clear,或手动删除项目根目录的.expo/web-build文件夹
  • 检查文件监听权限:Windows下部分杀毒软件或系统权限会阻止Node.js监听文件变化,暂时关闭杀毒软件,或用管理员身份运行终端
  • 禁用浏览器缓存:打开浏览器开发者工具的「Network」标签,勾选「Disable cache」,避免浏览器加载旧资源

二、废弃API及punycode警告处理

  • 废弃API警告:根据控制台提示的具体API,替换为对应库的最新写法。比如expo-xxx系列库的旧方法,查官方文档换用新API;React Native的旧PropTypes可以用deprecated-react-native-prop-types替代,或直接移除(TypeScript用户可通过类型检查替代)
  • punycode模块弃用警告:这是依赖库间接引入的,暂时不影响功能。要消除警告的话,手动安装兼容版本:
    npm install punycode@2.3.1
    
    或在package.json中添加版本锁定:
    "resolutions": {
      "punycode": "^2.3.1"
    }
    
    之后重新执行npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:34:53