【问题标题】:Flutter web : Failed to load resource: net::ERR_NAME_NOT_RESOLVEDFlutter web:无法加载资源:net :: ERR_NAME_NOT_RESOLVED
【发布时间】:2021-06-05 02:33:30
【问题描述】:

Flutter web 只是在 chrome 中显示 empty 白页,我通过使用 inpect 在 chrome 的 console 中得到 Failed to load resource: net::ERR_NAME_NOT_RESOLVED。即使在 web 上使用 flutter counter 应用程序也可以重现.

我有Flutter Channel stable 2.0.2and Android Studio (version 4.1.0)。 它在模拟器中运行良好。 我该如何解决这个问题?

我在 cmd 中尝试了以下命令,但仍然有问题:

ipconfig /flushdns
ipconfig /renew
ipconfig /registerdns

【问题讨论】:

  • edit您的问题添加minimal reproducible example
  • 没有错误所以我不能添加任何可重现的代码。
  • net::ERR_NAME_NOT_RESOLVED 是 DNS 错误。如果您向我们展示您的代码,也许我们可以帮助您弄清楚发生了什么。
  • 我添加了一些代码。
  • 什么是基本 URL?

标签: flutter flutter-web


【解决方案1】:

如果你连接到互联网,它会工作并且不会发生错误但是这个错误发生在最新版本(2.0.2)的离线模式下,因为CanvasKit没有自动捆绑离线开发。所以flutterteam提到了这些说明:

使其离线工作:

  • 在 web/ 目录下的任意位置下载(或构建)CanvasKit 你的项目。
  • 关注these instructions 并指定 FLUTTER_WEB_CANVASKIT_URL 到 指向/path/to/bundled/canvaskit/(如果它位于 web/ 的根目录中 那么我认为它只是/)。
  • 在您的 pubspec.yaml (instructions) 中包含所有必要的字体

【讨论】:

    【解决方案2】:

    我在不是从我的网络服务器的根目录提供应用程序时遇到了这个问题。 我必须在 web/index.html 中指定 <base> 标记,然后它对我有用。

    【讨论】:

    • <base href="/"> in index.html 已经存在。
    【解决方案3】:

    这是它的 Makefile

    webrun:
        wasmLocation="$(shell grep canvaskit-wasm build/web/main.dart.js | sed -e 's/.*https/https/' | sed -e 's/\/bin.*/\/bin/' | uniq)"; \
        curl -o ./web/canvaskit.js "$$wasmLocation/canvaskit.js"; \
        curl -o ./web/canvaskit.wasm "$$wasmLocation/canvaskit.wasm"; \
        flutter run -d chrome --release --web-renderer=canvaskit --dart-define=FLUTTER_WEB_CANVASKIT_URL=./
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 2019-02-03
      • 2021-03-05
      • 1970-01-01
      • 2019-05-23
      相关资源
      最近更新 更多