Flutter web 调试工作正常,但构建 web 显示空白页面
Flutter web debug is working but build web shows a blank page
flutter doctor
结果
[√] Flutter (Channel dev, 1.21.0-1.0.pre, on Microsoft Windows [Version 10.0.19041.388], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Chrome - develop for the web
[√] Android Studio (version 4.0)
[√] VS Code (version 1.47.2)
[√] Connected device (3 available)
• No issues found!
我在 beta 通道中使用 flutter v 1.20-7.2.pre 时遇到了这个问题。所以我切换到开发频道。
我也尝试了 运行 示例项目(样板)并得到了一个空白页面。控制台在 main.dart.js 中显示一些错误,在 js_helper.dart 中显示错误:
Could not load content for org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart (HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME)
重现问题
在任何 IDE 中创建示例项目
运行 以下命令:
flutter channel beta
flutter upgrade
flutter config --enable-web
或
flutter channel dev
flutter upgrade
flutter config --enable-web
然后,运行:
flutter build web
在此之后,我使用 python 到 运行 本地主机:
python -m http.server 8080
在 $root_folder\build\web
我找到了另一个建议托管 build\web 文件夹的答案,因为本地主机存在 CORS 问题
此外,我尝试使用调试模式:flutter run -d Chrome
成功了!
额外信息:我正在 Chrome v 84.0.4147.89(官方构建)(64 位)
上测试
在这里找到了这个问题的答案。它实际上是由于 firebase 而发生的,根本不是颤振问题。
必须运行一个服务器。
dart pub global activate dhttpd
dart pub global run dhttpd --path build/web/
flutter doctor
结果
[√] Flutter (Channel dev, 1.21.0-1.0.pre, on Microsoft Windows [Version 10.0.19041.388], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Chrome - develop for the web
[√] Android Studio (version 4.0)
[√] VS Code (version 1.47.2)
[√] Connected device (3 available)
• No issues found!
我在 beta 通道中使用 flutter v 1.20-7.2.pre 时遇到了这个问题。所以我切换到开发频道。
我也尝试了 运行 示例项目(样板)并得到了一个空白页面。控制台在 main.dart.js 中显示一些错误,在 js_helper.dart 中显示错误:
Could not load content for org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart (HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME)
重现问题
在任何 IDE 中创建示例项目 运行 以下命令:
flutter channel beta
flutter upgrade
flutter config --enable-web
或
flutter channel dev
flutter upgrade
flutter config --enable-web
然后,运行:
flutter build web
在此之后,我使用 python 到 运行 本地主机:
python -m http.server 8080
在 $root_folder\build\web
我找到了另一个建议托管 build\web 文件夹的答案,因为本地主机存在 CORS 问题
此外,我尝试使用调试模式:flutter run -d Chrome
成功了!
额外信息:我正在 Chrome v 84.0.4147.89(官方构建)(64 位)
上测试在这里找到了这个问题的答案。它实际上是由于 firebase 而发生的,根本不是颤振问题。
必须运行一个服务器。
dart pub global activate dhttpd
dart pub global run dhttpd --path build/web/