flutter - 如何解决 flutter for web 中的 web 开发服务器错误?

标签 flutter dart flutter-web

[编辑] 如果我在我的项目中运行 webdev serve 会出现

[WARNING] Throwing away cached asset graph because the build phases have changed. This most commonly would happen as a result of adding a new dependency or updating your dependencies.
[INFO] Cleaning up outputs from previous builds. completed, took 6.6s
[INFO] Building new asset graph completed, took 16.7s
[INFO] Checking for unexpected pre-existing outputs. completed, took 3ms
[INFO] Serving `web` on http://127.0.0.1:8080
[WARNING]build_web_compilers:entrypoint on web/main.dart: Skipping compiling retgoo_internal|web/main.dart with ddc because some of its
transitive libraries have sdk dependencies that not supported on this platform:

retgoo_internal|lib/protocol/http_non.dart

https://github.com/dart-lang/build/blob/master/docs/faq.md#how-can-i-resolve-skipped-compiling-warnings

[INFO] Running build completed, took 19.0s
[INFO] Caching finalized dependency graph completed, took 473ms
[INFO] Succeeded after 19.5s with 634 outputs (3522 actions)

但是当我尝试在浏览器中打开时,只会出现一个空白页面,而当我尝试开始调试时,只会启动并出现一个空白页面。发射没有停止。 build.yaml 文件中有警告的教程,但是当我搜索很多 build.yaml 文件时......我应该修复哪个文件?

最佳答案

在您的 wanrnig 消息中明确指出,由于某些传递性 sdk 依赖性,main.dart 未编译。

[WARNING]build_web_compilers:entrypoint on web/main.dart: Skipping compiling retgoo_internal|web/main.dart with ddc because some of its transitive libraries have sdk dependencies that not supported on this platform:

retgoo_internal|lib/protocol/http_non.dart

这仅仅意味着你的 flutter 相关 dart 代码都没有被编译成 javascript。据我所知,flutter-web 可以做到这一点。

  1. 它将使用 flutter 框架编写的 dart 代码编译成 javascript。
  2. 这意味着 main.dart 和其他 dart 文件编译成 main.dart.js 和其他 chunks.js 文件。
  3. 然后在 web/index.html 中加载这个 javascript 文件,它进一步创建和处理要在页面中呈现的新 dom 元素。诸如通过 React 或 Angular 创建的单页应用程序之类的东西。

一旦您修复了 pubspec.yaml 中的传递依赖项(可能由您作为依赖项添加的任何其他库引入),这个问题就会得到解决。

由于 flutter-web 不支持任何插件,因此必须通过拉取您希望包含的插件的源代码来手动完成,放置在源目录中并将其中的导入语句从 package:flutter/更改为包:flutter_web。这不是微不足道的,但仍然可以实现。

关于flutter - 如何解决 flutter for web 中的 web 开发服务器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865013/

相关文章:

flutter - 如何在 Flutter 的 Scaffold.drawer 中保持小部件的状态?

dart - dart是否允许用户编写平台特定的实现?

javascript - 在 Dart JS 互操作中引用 "this"

flutter - DateFormat Flutter我正在以这种格式获取日期表格json api “2020-04-18T00:00:00”,但是我想要这种格式 “dd-mm-yyyy”

flutter - 无法在行内展开

Flutter Gridview 在列中。有什么解决办法..?

android-studio - 如何在Flutter中仅为OutlineButton制作带下划线的边框

dart - 在 google_sign_in 安装说明中, "register your application"是什么意思?

flutter 网页 : Show PDF or Any File from Assets on another browser tab or window

html - 避免在Flutter Web插件包之外使用仅Web库