FlutterFlow Web应用在部署后首次加载时显示空白屏幕

移动开发 2026-07-08

我把FlutterFlow的 Web应用部署到了我的自定义域名。网站在首次加载时会显示一个 空白页面,Flutter应用也无法启动。

环境

  • FlutterFlow Web应用
  • 自定义域名:https://XXXX.co.in
  • FlutterFlow中启用了CanvasKit
  • 离线使用打包CanvasKit:已禁用
  • 使用WASM:已禁用

同样显示空白屏。然后我启用了

  • 离线使用打包CanvasKit:已启用
  • 使用WASM:禁用

问题

打开网站时,页面只显示一个空白屏。检查浏览器控制台后出现以下错误:

GET https://xxx.co.in/canvaskit/chromium/canvaskit.js 404 (Not Found)

GET https://xxx.co.in/canvaskit/chromium/canvaskit.wasm 404 (Not Found)

Uncaught (in promise) TypeError: Failed to execute 'compile' on 'WebAssembly': HTTP status code is not ok

Uncaught (in promise) Error: Failed to fetch dynamically imported module:

https://xxx.co.in/canvaskit/chromium/canvaskit.js

FlutterFlow设置

  • CanvasKit已启用:Yes
  • CanvasKit基础URL:canvaskit/
  • 离线使用打包CanvasKit:已启用
  • 使用WASM:已禁用

问题

  1. 为什么Flutter要从 /canvaskit/chromium/ 加载 canvaskit.jscanvaskit.wasm
  2. 我需要将 canvaskit 文件夹手动上传到我的托管服务器吗?
  3. CanvasKit基础URL应该设置为:

https://www.gstatic.com/flutter-canvaskit/

而不是 canvaskit/? 4.是否有推荐的FlutterFlow配置,可以在首次加载时避免空白屏?

如果能就使用CanvasKit的 FlutterFlow Web应用给出正确的部署设置的指导,我将不胜感激。

解决方案

  1. 当启用离线打包CanvasKit时,Flutter Web引擎会自动附加 /chromium/
  2. 是的。如果你选择自行托管CanvasKit(离线模式),你必须上传Flutter的 build/web 目录中生成的完整、未修改的 canvaskit/ 文件夹。
  3. 是的,如果你不想手动托管大型WASM二进制文件,修改这个字符串是最简单的修复方法。

在我看来,你应切换到Google's Global CDN

  1. 打开FlutterFlow设置 -> Web Delivery / CanvasKit设置。
  2. 保持CanvasKit启用:Yes
  3. 将CanvasKit基础URL精确设置为:
    https://www.gstatic.com/flutter-canvaskit/
  4. 将离线打包CanvasKit设置为:Disabled(关闭)。
  5. 重新部署或重建你的Web应用。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章