如何减少flutter web应用程序的加载时间

2024-04-17

截至目前,我们可以将 flutter web 应用程序作为单个文件启动,该文件将立即加载,因此需要花费大量时间和带宽来加载,这并不理想,有没有办法一次只加载一个页面,而不是整个网络应用程序。我的意思是,一次加载一个小部件。

任何建议将不胜感激。


在花了很多时间尝试解决这种情况之后,我找到了一种加快应用程序首次加载速度的解决方案。 我看到我的 main.dart.js 正在下载,然后,main.dart.js 触发了 canvaskit.wasm 文件的下载,这意味着我的应用程序以级联模式启动,避免下载两者并行文件。

因此,经过多次尝试后,我的解决方案是仅向 index.html 文件添加 2 行代码(.../project_folder/web/index.html)。 在 ... 标记内插入以下两行:

<script src="https://unpkg.com/[email protected] /cdn-cgi/l/email-protection/bin/canvaskit.js"></script>
<link rel="preload" href="https://unpkg.com/[email protected] /cdn-cgi/l/email-protection/bin/canvaskit.wasm" as="fetch" crossOrigin="anonymous">

我知道对这些 URL 进行硬编码并不是一个好的做法,但是,只有在更新 Flutter 时才需要更改它们。我使用的是 Flutter 2.10.1,它使用 CanvasKit 0.30.0,当您构建 Web 应用程序时,生成的 main.dart.js 内部有一个硬编码的 URL。

如果您要将这两行添加到您的 index.html 文件中,我建议您构建 Web 应用程序,然后打开 main.dart.js 文件并搜索“canvaskit-wasm”,您会发现哪个是您应该使用的 URL(例如“https://unpkg.com/[电子邮件受保护] /cdn-cgi/l/email-protection/bin/").

它使我的初始加载时间得到了很好的改善!所以,希望它也适合你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何减少flutter web应用程序的加载时间 的相关文章

  • PushReplacement 或 PushAndRemoveUntil(Route 路线) => false 不工作

    基于页面的路由无法使用命令式 api 完成 而是提供一个没有相应页面的新列表到 Navigator pages 包 flutter src widgets navigator dart 断言失败 第 3075 行 pos 7 hasPage
  • 带有 ListTiles 和按钮行的 Flutter 下拉菜单

    我正在尝试构建一个自定义下拉菜单 如下所示 我已经成功地实现了ListTiles and Row of Buttons没有下拉菜单 但我不确定如何将所有内容嵌套在下拉菜单类中 这是我到目前为止所得到的 class HomePage exte
  • Charts_flutter x 轴上的标签/文本相互重叠

    我使用flutter中的charts flutter包渲染条形图 但 x 轴上的域标签相互重叠 我有办法解决这个问题吗 有没有办法倾斜文本或增加图表的宽度 使其可以水平滚动 我尝试过寻找任何解决方案 例如 labelspecs 但无法找到解
  • 在 dart 的 MultipartRequest 中添加授权标头

    我在用多部分请求 https pub dartlang org documentation http latest http MultipartRequest class html在 Dart 中以便将文件上传到 API 但是我需要在我的请
  • 如何更改文本字段颤动内部的值?

    我有一个TextEditingController如果用户单击按钮 它就会填写信息 我似乎不知道如何更改 a 中的文本Textfield or TextFormField 有解决办法吗 只需更改text财产 TextField contro
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • Flutter:一张带有圆形头像的卡片,非常引人注目

    我想做一张卡片CircleAvatar 突出显示 您可以在这张图片中看到详细信息 我不知道它是如何工作的 我尝试了一些Stack和定位小部件 但它不起作用 Stack确实是解决方案 Stack children
  • 如何更改 Flutter 中的默认字体系列

    如何更改应用程序的每个文本以使用特定字体 我可以使用以下命令单独更改它们TextStyle 但如何让我的应用程序默认使用特定字体 你能告诉我怎么做吗 您可以按照以下步骤更改 Flutter 应用程序的默认字体系列 1 将字体文件添加到项目文
  • 颤振预览图标在代码完成时显示损坏的资源图像

    当我第一次安装 flutter 和 dart 扩展时 图标预览工作正常 但是当我在没有 wi fi 的环境中开发时 图标预览损坏了 不确定这是问题所在 我尝试重新安装所有与 flutter 和 dart 相关的扩展 但问题仍然存在 如果有任
  • Android Gradle 问题 - Flutter / Dart

    我的 Gradle 同步有问题 我使用 IntelliJ 和 Android Studio 构建 Flutter Dart 应用程序 我添加了 2 个新的依赖项 现在 Gradle 出现了问题 在 Android Studio 中一切正常
  • 如何防止 Visual Studio Code Flutter/Dart 编辑器格式化新行/换行代码?

    我最近开始研究 Flutter Dart 我喜欢保存时自动格式化 Flutter 但有一件事可能相关也可能不相关 那就是长代码的代码包装 即使代码仍然适合我的 4k 编辑器窗口 有没有办法防止换行但保持逗号自动格式 Thanks 请按照以下
  • 如何在flutter中绕过SSL证书验证?

    如何在flutter中绕过SSL证书验证 错误 握手异常 客户端中的握手错误 操作系统错误 CERTIFICATE VERIFY FAILED 自签名证书 handshake cc 345 您需要配置 HttpService 以使用自签名
  • NestedScrollView 与 ListView 中的粘性选项卡

    布局按预期工作 但以下情况除外 当我滚动一页时 第二页也会滚动 没有那么多 但足以掩盖第一个项目 我可以想象它与 NestedScrollView 有关 但我不知道如何继续 import package flutter material d
  • 如何让“material-dropdown-select”显示当前模型值

    使用 AngularDart 角度组件 https github com dart lang angular components 我需要创建一个下拉列表 其中填充了一小部分项目 使其工作 并自动设置为模型中对象的当前选择 尚未使其工作 我
  • Flutter - 构建失败并出现异常

    当我启动我的应用程序时 我收到此错误消息 自上次运行以来我没有进行任何更改 当时一切都很好 有人知道如何解决这个问题吗 谢谢 FAILURE Build failed with an exception 什么地方出了错 无法确定任务 app
  • 使用 Flutter 基础类型而不使用 Flutter

    我需要在没有 Flutter 的环境中使用 lib package flutter foundation dart 中存在三种类型 他们是 ByteData ReadBuffer and WriteBuffer 是否可以在不依赖整个 Flu
  • 如何在Flutter中使用多个ChangeNotifierProvider?

    我最近开始使用provider对于我的状态管理 我知道如何一次使用一个 class Home extends StatelessWidget override Widget build BuildContext context return
  • 自定义卡片形状 Flutter SDK

    我在 Flutter 上使用 GridView 开发了一个应用程序 GridView 项目是卡片 默认卡片形状是半径为 4 的矩形 我知道 Card Widget 有 shape 属性 并且它需要 ShapeBorder 类 但我无法找到如
  • 当我使用 ListView 时,ListTile OnTap 正在工作。但是当我使用 ListWheelScrollView 时它不起作用

    当我使用 ListView 时 ListTile OnTap 正在工作 但是当我使用 ListWheelScrollView 时它不起作用 我的意思是它不会被窃听 观点发生变化 但我似乎无法点击它 我在很多地方和链接中寻找解决方案 但仍然找
  • 已发布的 Flutter 应用程序在启动时崩溃

    编辑 此问题的解决方案是将您的 flutter 版本升级到较新的 dev 版本 then 1 7 0 您还可以上传单独的 APK 版本 但我个人不喜欢这个选项 请确保您没有从 flutter github 开发存储库下载 错误的构建 因为那

随机推荐

  • iPhone:应用程序重新启动时不会保存 NSHTTPCookie

    在我的 iPhone 应用程序中 我希望在应用程序重新启动时能够重用相同的服务器端会话 服务器上的会话由 cookie 标识 该 cookie 在每次请求时发送 当我重新启动应用程序时 该 cookie 消失了 我无法再使用相同的会话 当我
  • 在 python 中使用 email.HeaderParser 和 imaplib.fetch ?

    有没有人有一个在 Python 中使用 HeaderParser 类来获取通过 imaplib fetch 拉取的消息的好例子 我已经找到了很多相关的东西 但没有任何东西能做到这一点 我需要完整获取 RFC822 吗 我希望简单地把主题拉下
  • 针对 Google IAP 使用 Salesforce 命名凭据

    Goal 我已经构建了一个在 Google App Engine 上运行的 REST API 受保护谷歌云应用内购买 https cloud google com iap 身份感知代理 我的目标是使用服务帐号 https cloud goo
  • PHP 递归文件夹扫描按修改日期排序

    我正在使用此脚本查看所有子文件夹和子文件夹的文件 function readfolder dir global tfile tdir i 0 j 0 myfiles myfiles array if is dir dir if dh ope
  • 在 Fabric.js 中真正旋转等边三角形的中心

    使用 Fabric js 我无法真正围绕其中心点旋转三角形 或者至少我认为应该是中心点 我创建了一个jsFiddle http jsfiddle net UW8Be 这表明 三角形很简单 我用了originX center 原点Y 也是如此
  • 将 Typeahead 与 Google 自定义搜索引擎结合使用

    我正在尝试让 Twitter Typeahead Bloodhound 与 Google 的 CSE 配合使用 到目前为止 我已经成功返回结果 但无法计算出 datumTokenizer var results new Bloodhound
  • SSIS 错误 - 无法执行事务操作,因为有正在处理此事务的待处理请求

    在执行 ssis 包时 出现以下错误 The transaction operation cannot be performed because there are pending requests working on this tran
  • Excel - 从单元格范围创建图表,同时排除空值?

    我有这张 Excel 工作表 其中基本上包含大量数据 现在 此 Excel 工作表通过导入数据的宏动态更新 因此数据可能会发生变化 这意味着某些单元格可能会被填充 而其他单元格则不会 所以我在工作表 2 中从 A2 A60 到 M2 M60
  • 如何更改TTLauncherItem中标题的颜色?

    我在尝试更改 TTLauncherItem 中的颜色时遇到很多麻烦 因为默认的灰色不适合我的背景 有任何想法吗 这是我用来更改文本颜色的TTLauncherItem从默认的灰色变为黑色 在白色背景上看起来更好 1 创建一个继承自的样式表TT
  • 如何更改诺基亚全触摸 lwuit 表单标题颜色

    我想更改基于诺基亚 lwuit 的全触摸表单的标题颜色 我尝试过 setTitleComponent 方法 但它不起作用 另请检查以下链接http projects developer nokia com LWUIT for Series
  • 有没有像 Haskell 的 Threadscope 这样的 C/C++ 线程跟踪器?

    有没有像这样的免费开源工具线程范围 http research microsoft com en us projects threadscope 并且比NPTL 追踪工具 http nptltracetool sourceforge net
  • 从 SQL Server 查询 Python 中的二进制值

    我正在执行这个查询 SELECT CMDB ID FROM DB1 dbo CDMID 当我在 SSMS 18 上执行此操作时 我得到以下信息 我知道这些是十六进制值 尽管我不是该主题的专家 我需要在 python 上执行这个精确的查询 以
  • 在python中逐层打印二叉树

    我想按以下方式打印二叉树 10 6 12 5 7 11 13 我已经编写了用于插入节点的代码 但无法编写用于打印树的代码 所以请帮忙解决这个问题 我的代码是 class Node def init self data self data d
  • 让 Graphstream 只渲染发生变化的部分

    我使用以下方法创建了一个表示特定区域路线图的图表Graphstream 现在我想让蓝色节点看起来像在图表上移动 为此我在另一个线程上显示图表 并且每秒将不同的节点着色为蓝色 如下所示 public void drawGraph List
  • Git lfs(大文件存储)表示 lfs 管理的文件在 git lfs pull 后被修改

    我有一个存储库的工作副本 它使用 git lfs 来存储一些大文件 我安装了 git lfs 二进制文件 但可能没有在工作副本中运行 git lfs install 当我想在添加 lfs 文件后更新本地工作副本时 我执行以下命令 git p
  • C:scanf循环

    char buf 1024 0 send a message if status 0 while 1 printf Enter message scanf 1023 n buf fflush stdin if strcmp buf quit
  • SQL Server 图形数据库 - 使用多种边类型的最短路径

    我已经对 SQL Server GraphDB 进行了研究 但到目前为止我发现的所有人为示例仅使用单个边缘表 总是如此Person friend of gt Person 例如 就我而言 我创建了数据中心中已部署软件组件的图表 并且存在不同
  • Android - 如何在启动后启动 /sdcard 上的应用程序

    有没有一种方法可以在启动后自动启动Android应用程序 如果它位于Android应用程序上 sdcard 好吧 大概是通过BroadcastReceiver 但哪种行动是正确的呢 ACTION BOOT COMPLETED does no
  • Html.ActionLink 无法动态调度

    我的 MVC3 有问题 我正在尝试使用 Html ActionLink 为我的博客项目中的标题生成链接 在中使用常量字符串ActionLink效果很好 但如果我使用Posts Title 当前帖子模型的标题被循环 我得到这个异常 CS197
  • 如何减少flutter web应用程序的加载时间

    截至目前 我们可以将 flutter web 应用程序作为单个文件启动 该文件将立即加载 因此需要花费大量时间和带宽来加载 这并不理想 有没有办法一次只加载一个页面 而不是整个网络应用程序 我的意思是 一次加载一个小部件 任何建议将不胜感激