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

Flutter Web应用报错“Uncaught ReferenceError: _flutter is not defined”求助

排查思路

1. 检查Nginx缓存与静态资源配置

  • 确认Nginx是否为关键文件(如flutter.js、index.html)设置了合理的缓存策略:HTML文件建议设置no-cache或max-age=0,避免浏览器缓存旧页面;js、css等静态资源可设置较长缓存时间。
  • 手动清除无法加载页面的浏览器缓存,重新访问测试。

2. 验证Flutter Web构建产物完整性

  • 进入Pod执行cat /usr/share/nginx/html/index.html,确认文件中存在<script src="flutter.js" defer></script>这类正确引用flutter.js的代码。
  • 对比Pod内flutter.js的文件大小与正常加载环境中的文件大小,排查构建过程中是否出现文件损坏。

3. 排查Kubernetes资源分发问题

  • 执行kubectl get pods查看Pod创建时间,确认所有Pod都使用了最新的镜像,没有旧版本Pod在运行。
  • 检查Ingress配置,确认路径重写、路由规则是否正确,避免flutter.js的请求被错误转发(比如所有请求都被导向index.html,导致静态文件无法正常访问)。

4. 分析浏览器环境差异

  • 在无法加载的浏览器中打开开发者工具的网络面板,查看flutter.js的请求状态:是404、403还是其他错误?根据状态码定位问题。
  • 禁用浏览器的广告拦截器、隐私类插件后重新加载,排查是否是插件误拦截了flutter.js文件。

5. 检查Flutter构建参数

  • 确认flutter build web使用了--release模式(默认是release,但需确保未使用debug模式构建),debug模式产物兼容性较差。
  • 尝试添加--web-renderer html或--web-renderer canvaskit参数重新构建,不同渲染器在部分浏览器环境下表现可能不同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 06:30:25