font文件一般都很大,占用内存,向大家推荐一个压缩插件font-spider,这个插件是基于node环境的,主要是通过一个引入字体的html文件来生成一个新的压缩后的字体,建议创建一个html文件来压缩,如果要在vue项目里,可以借助项目中的index.html文件。
源文件7M,压缩完36K。步骤如下:
1. 安装nodejs
这个步骤就不详细赘述了,可以用node -v来检测是否安装环境。
2. 安装font-spider
npm install font-spider -g
3. 创建html文件,引入font
我创建的目录如下:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<link rel="stylesheet" href="./index.css">
</head>
<body>
<p>
我是一段普通的文字,我是一段普通的文字,我是一段普通的文字,我是一段普通的文字,我是一段普通的文字。
</p>
<p class="main2">
我是一段带有字体的文字,我是一段带有字体的文字,我是一段带有字体的文字,我是一段带有字体的文字。
</p>
</body>
</html>
index.css
@font-face {
font-family: 'HarmonyOS_Sans_SC_Medium';
src:
url('./fonts/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.ttf') format('truetype')
/*url('./fonts/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.eot?#font-spider') format('embedded-opentype'),
url('./fonts/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.woff2') format('woff2'),
url('./fonts/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.woff') format('woff'),
url('./fonts/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Mediume.svg') format('svg');*/
}
p {
margin: 20px;
}
p:nth-child(2) {
font-family: 'HarmonyOS_Sans_SC_Medium';
}
4. 执行压缩命令
font-spider html地址(html地址可以直接右键html文件查看属性里的位置)
font-spider E:\project\demo\index.html
压缩成功后会有如下提示:
同时文件目录中新生成了一个字体文件,如下:
这个文件就是压缩后的字体,直接拷贝使用即可。