为啥我在构建 Flutter Web 时会出现白屏

Posted

技术标签:

【中文标题】为啥我在构建 Flutter Web 时会出现白屏【英文标题】:Why do I get white screen when building flutter web为什么我在构建 Flutter Web 时会出现白屏 【发布时间】:2019-10-29 23:26:35 【问题描述】:

我想构建一个flutter web应用程序,所以我输入'webdev build'命令,操作完成后,我打开位于构建目录的'index.html'文件,它只是一个白屏。 我在一个新项目上尝试过,问题仍然存在。 开发过程中没有问题。

这是我的颤振医生输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.17134.766], locale en-US)

[√] android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.3)
[√] VS Code (version 1.35.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

【问题讨论】:

【参考方案1】:

您需要运行webdev serve 命令,它会提供类似localhost:8080127.0.0.1:8080 的地址。在为我的一个 Flutter Web 项目运行 webdev serve 后,我附上了一张截图。它说 Serving web on http://127.0.0.1:8080 所以你需要在浏览器中打开那个 URL。


这个答案是在 flutter-web 是一个单独的项目并且 webdev 是运行您的应用程序的方式时编写的。

现在您可以使用 flutter run -d chrome 为 Web 运行它。

【讨论】:

是的,但它只是提供了一个服务器来进行开发。我需要输出文件。 输出文件是什么意思?请详细说明 哦,我的错,我没有注意文档中的这一部分,“使用静态 HTTP 服务器运行应用程序。”。我只是打开 index.html 没有使用它是服务器。谢谢兄弟! 我去试试 谢谢 我正在运行 webdev serve 命令,但 url 仍然是空白屏幕。你能帮忙吗【参考方案2】:

我没有注意文档中的这一部分,“使用静态 HTTP 服务器运行应用程序。”。我只是打开 index.html 而不使用它是服务器。

【讨论】:

【参考方案3】:

对我来说似乎是防病毒软件的问题,运行 flutter run -d chrome --release 解决了我的问题。

【讨论】:

【参考方案4】:

我遇到了同样的问题。我在 chrome 上使用了检查代码并检查了 console 部分。所以出现了错误not allowed to load local resource 并且某个文件的路径是这样的:

import 'file:///C:/Users/../someFile.dart';

并通过更改路径

import 'package:.../someFile.dart'

白屏消失了,问题解决了。

【讨论】:

【参考方案5】:

对我来说,我在 master 频道中,并在下面解决问题:

flutter channel dev
flutter upgrade
flutter run -d chrome

【讨论】:

【参考方案6】:

只需在命令行中运行 flutter config --enable-web 并关闭编辑器,然后再次运行应用程序

【讨论】:

【参考方案7】:

我遇到了同样的问题。我处于稳定频道,并在下面解决问题:

flutter clean 

flutter pub get 

flutter pub cache repair

希望能解决你的问题。

【讨论】:

【参考方案8】:

我有同样的问题。我在主频道并在下面解决问题:

flutter clean 

flutter pub get 

flutter pub cache repair

【讨论】:

【参考方案9】:

您必须将文件上传到服务器并将它们放在根文件夹中。

如果要将它们放在其他文件夹中,则必须编辑“index.html”文件以告知文件夹。

例如: 如果您将文件上传到“test”文件夹,则必须编辑“index.html”这一行:

<base href="/">

<base href="/test/">

【讨论】:

【参考方案10】:

我的应用在 Chrome 中作为空白页运行时遇到了同样的问题。我已经通过使用flutter create . 重新创建一个项目来修复它:

    将您的lib 目录和pubspec.yml 文件移动到安全的地方。 然后,删除项目目录中的其余文件和目录。 运行flutter create .。 从第 1 步移回这些文件。

【讨论】:

以上是关于为啥我在构建 Flutter Web 时会出现白屏的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 出现白屏问题

Flutter 发布 APK 构建 - 间歇性白屏

Flutter 应用程序在启动时显示白屏几秒钟

Flutter Provider:为啥在调用 Provider.of<Widget>(context) 时会出现此错误,如 tihis:

为啥我的 Flutter 应用在​​ iOS 上启动时会崩溃?

Flutter Web:白屏(PersistedOffset 错误)