22 条回复  ·  2502 次点击
skallz 小成 2025-2-21 09:52:48
目前我们的做法是,前端项目在登录页 or 落地页之类的,用户第一次进入的页面,写一个脚本提取这些页面中包含的所有中文,提取出字体文件中的这部分中文,然后这些页面直接使用这种字体文件,一般这个文件体积很小,对加载几乎无影响,然后异步加载完整的字体文件,并且在加载完成后用 indexeddb 存一下,设置为字体 A ,非首次进入的页面使用的字体设置为 A 、B ,优先加载自定义字体 A ,若没有会降级到系统字体 B ,基本上可以保证绝大部分用户无感加载字体
skallz 小成 2025-2-21 09:53:31
@skallz 提取文字的脚本在流水线中打包前运行即可,无需人工维护
moooooooo 小成 2025-2-21 10:04:42
https://github.com/ecomfe/fontmin 这个也可以
MingLovesLife 初学 2025-2-21 10:23:28
@skallz #10 大佬,不懂就问。那接口拉下来的文字怎么处理呢,这部分文字等完整字体拉下来之后,是不是依然会有字体闪的问题
tsingwong 初学 2025-2-21 10:24:52
之前收藏过一个链接,可以参考下捏《中文网络字体优化最佳实践》 https://chinese-font.netlify.app/zh-cn/post/performace_turbo/
FightPig 初学 2025-2-21 10:29:24
中文字体太大了,一般就特殊用到的提取一下
ybz 初学 2025-2-21 10:34:11
这个东西有可能在 flutter web 中使用吗? flutter web 由于无法使用系统字体,中文字体加载过慢目前是一个硬伤。
ybz 初学 2025-2-21 10:34:29
@SleepyRaven
shiyuu 小成 2025-2-21 10:36:02
来来来 https://github.com/syhyz1990/mactype
lisxour 小成 2025-2-21 10:38:53
@dzdh 动态内容怎么搞?
返回顶部