快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 如何将 Flutter build web 的资源 CDN 化

如何将 Flutter build web 的资源 CDN 化

时间:2022-12-13 15:32:42人气:作者:快盘下载我要评论

背景

用上文的方式,落地稿定 WAP 版的过程中,遇到了一个严重的卡点:

如何将 Flutter build web 的资源 CDN 化,也是笔者以前接触比较少的(笔者以前 Web 开发经验更多是管理后台以及离线包,很少需要接触到部署)。

为什么是卡点?在于 Flutter 默认仅支持相对域名的资源加载方式,无法使用当前域名以外的 CDN 域名,导致无法享受 CDN 带来的优势。

原以为 Flutter 官方有现成的方案,翻了一大圈,只能证明自己想的太美 ...

方案探寻

不过,在美团技术团队发表的 FlutterWeb 性能优化探索与实践[1] 中找到了部分解决方式:

对于图片相关的资源在 index.html 上增加 meta,可以解决 assets 资源路径是相对路径的问题问题。


上述 meta 对于加载的 JS 文件不适用(Flutter 官方快支持)。main.dart.js 特别是用了延迟加载 deferred-components 会生成多个 main.dart.js_XX.part.js 多个 JS 的情况下,怎么配置 CDN 域名就成了一个大难题。

美团技术团队也输出了一种方案:

通过对 js_helper.dart 的动态编译,读取 src 属性修改为读取 assetBase 来实现 xxx.part.js 文件的 CDN 加载

笔者看了下 js_helper.dart 代码

如何将 Flutter build web 的资源 CDN 化

image.png

Emmm ... 3000 多行代码,而且还要准备 hook dart 的工具,或者自行编译 Flutter Engine,并不是一个短期能实现的一种方式。

那解决思路是 hook 来改变

相关文章

  • Winform 进度条弹窗和任务控制

    Winform 进度条弹窗和任务控制,最近要给一个 Winform 项目添加功能,需要一个能显示进度条的弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结。虽然用的是比较老的 Winform......
  • 新型异步 I/O 模型 Linux I/O 神器之 io_uring

    图解原理|Linux I/O 神器之 io_uring,io_uring 是 Linux 于 2019 年加入到内核的一种新型异步 I/O 模型,io_uring 主要为了解决 原生AIO(Native AIO) 存......

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。