vue项目引入字体文件过大和动态加载文本,字体不生效问题

一、引入的字体文件包太大

1、字体打包前

2、字体打包后

图中看到字体文件都有8M多,这样直接引入字体文件,vue页面打包后会出现刚开始,页面字体是默认字体,等引入的字体加载后,页面字体会从默认字体转为使用的引入字体,这样,视觉上就会给用户不好的体验。

二、如何压缩引入的打包字体

1、这里可以使用字蛛font-spider来进行压缩

js 复制代码
npm install font-spider -g

查看font-spider是否安装

css 复制代码
font-spider -V

2、如何压缩对应字体

1、对于静态页面来说,在font.css里引入对应的字体库文件

上面2-45,2-55,2-75,2-85是对应的字体大小文件

2、在html中引入font.css文件,页面录入对应的静态文字

这样引入后,在当前目录下打开cmd命令行,执行font-spider index.html

2、对于从接口获取来的文本来说,如果对应的文字没有打包压缩成字体文件,是不生效的,所以最好的解决办法就是将常用的所有汉字和字符,标点符号和字母数字都录入到页面,打包成字体文件。如下图所示

有多少号字体,就配置多少号字体文件,然后执行打包命令,这样就算是动态从接口获取常用文本,文字的字体也可正常加载,当然如果有特殊字体,也要录入进行打包

常用的所有汉字和字符,标点符号和字母数字打包后大小 看看动态插入数据

相关推荐
拿不拿铁1924 分钟前
Vite 5.x 开发模式启动流程分析
前端
fruge33 分钟前
设计稿还原技巧:解决间距、阴影、字体适配的细节问题
前端·css
BBB努力学习程序设计1 小时前
了解响应式Web设计:viewport网页可视区域
前端·html
zhangyao9403301 小时前
uni-app scroll-view特定情况下运用
前端·javascript·uni-app
码农张1 小时前
从原理到实践,吃透 Lit 响应式系统的核心逻辑
前端
jump6801 小时前
object和map 和 WeakMap 的区别
前端
打小就很皮...1 小时前
基于 Dify 实现 AI 流式对话:组件设计思路(React)
前端·react.js·dify·流式对话
这个昵称也不能用吗?1 小时前
【安卓 - 小组件 - app进程与桌面进程】
前端
kuilaurence1 小时前
CSS `border-image` 给文字加可拉伸边框
前端·css
一 乐1 小时前
校园墙|校园社区|基于Java+vue的校园墙小程序系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·小程序