前言

最近在部署vue项目之后,在打开网页的时候,ttf文件下载时间实在是太久了,在经过合理的运用搜索引擎之后,可能自己的固化思维消化不了大佬们给出的方案,于是在他们的基础之上做了一些小小的改动,便叙文记之。

1. 引入font-spider的依赖

首先我们执行npm install font-spider -g引入依赖, 执行完成后,可以输入font-spider -V来检查是否引入成功

2. 在根目录下创建三个文件

2.1 fonts

这里放入原字体包,Lato-Medium.ttf、Lato-Bold.ttf 这里可以更换为自己想要用到的ttf字体包

2.2 index.css

在这里设置@font-face和对应的class元素,为了方便比较,我们引入两个字体来看对比

@font-face {font-family: 'Lato-Medium';src: url('./fonts/Lato-Medium.eot');src:url('./fonts/Lato-Medium.eot?#font-spider') format('embedded-opentype'),url('./fonts/Lato-Medium.woff') format('woff'),url('./fonts/Lato-Medium.ttf') format('truetype'),url('./fonts/Lato-Medium.svg') format('svg');font-weight: normal;font-style: normal;
}
.medium {font-family:'Lato-Medium';
}
@font-face {font-family: 'Lato-Bold';src: url('./fonts/Lato-Bold.eot');src:url('./fonts/Lato-Bold.eot?#font-spider') format('embedded-opentype'),url('./fonts/Lato-Bold.woff') format('woff'),url('./fonts/Lato-Bold.ttf') format('truetype'),url('./fonts/Lato-Bold.svg') format('svg');font-weight: normal;font-style: normal;
}
.bold {font-family:'Lato-Bold';
}
复制代码

这里,我们的css工作就做完了,接下来就操作html文件吧

2.3 index.html

这里首先在<head>处要引入index.css文件<link rel="stylesheet" href="index.css">,然后在<body>处压缩我们想要的字体吧,这里只能压缩静态字体哦

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>font spider</title><link rel="stylesheet" href="index.css">
</head><body><div><!-- 这里对应的是Bold的压缩包 --><div class="bold">abcdefghijklmnopqrstuvwxyz</div><!-- 这里对应的是Medium的压缩包 --><div class="medium">ABCDEFGHIJKLMNOPQRSTUVWXYZ</div><!-- 这写在class元素之外的就没有对应的压缩包了 -->0123456789</div>
</body></html>
复制代码

这里html里面的写法只会把小写的a~z压缩成Lato-Bold字体,也就是是说Lato-Bold这个ttf文件在被压缩之后,内部只包含了a~z的字体,Lato-Medium同理。

3.生成新的ttf包

做完上面的这些操作之后,就可以执行font-spider index.html生成新的压缩ttf文件了,这个时候,不仅会生成ttf文件,还会生成eot、woff、svg这些文件,我们取我们要用到的ttf文件即可

4.应用到自己的项目中

将生成的ttf文件放到自己的项目文件目录夹下,然后在css文件引入的时候,需要这么写src: url("../fonts/Lato-Bold.ttf") format('truetype');

@font-face {font-family: 'Lato-Bold';src: url("../fonts/Lato-Bold.ttf") format('truetype');font-weight: normal;font-style: normal;
}
复制代码

写在最后

在初次接触这个问题的时候,我看到的都是用.html的方式来使用font-spider方法的,当时我固化思维的就一个劲的查询Vue怎么使用font-spider,搜索结果不尽人意,当时有一种挫败感,什么辣鸡玩意儿,都不支持vue...后面在寻求多方帮助之后,自己沉下心来,终于解决了这个问题。

如果大家想学习前端方面的技术,我把我多年的经验分享给大家,还有一些学习资料,分享Q群:1046097531

技术分享:font-spider(字蛛)的正确打开方式相关推荐

  1. 软件测试Bug,你是怎么找bug的?bug分析的正确打开方式......

    目录:导读 前言 一. bug详细 二.获取bug具体数据 三.有效的管理bug 四.做好bug分析工作 五.深入bug分析 六.总结 前言 Bug严重级别(Severity,Bug级别):是指因缺陷 ...

  2. Bug深入分析的正确打开方式

    Bug对于测试人员来说是司空见惯的东西,毕竟找到软件的bug就是测试人员工作内容的一部分.但仅仅发现bug是不够的,同时也要避免bug的再次出现,做好软件质量保证工作,所以,做好bug分析就是一件非常 ...

  3. 奇门对接需求设计_从2020《奇门遁甲》看网络电影精品化的“正确打开方式”...

    作者 / 1982 "你知道什么是奇门遁甲吗?" 随着2020版网络电影<奇门遁甲>终极预告的神秘发问,观众跟随男主视角一下被带入了那个波云诡谲的东方奇幻世界:雾隐门四 ...

  4. 图片压缩的正确打开方式

    图片压缩的正确打开方式 图像通常占据了页面大小的绝大部分,并且占据的绝大部分视觉空间.因此,优化图片通常会节省大量字节数和提升性能:浏览器下载的字节数越少,客户端带宽的争抢越少,浏览器的下载和屏幕加载 ...

  5. 复旦计算机考研复试要口试吗,复试的正确打开方式|复旦篇

    原标题:复试的正确打开方式|复旦篇 初试已经结束,复试还会远吗?今天为你推送的是复旦复试全指南,作为考研的结束站,如何准备复试很关键.报考复旦的小伙伴,要时刻关注[复旦大学新闻学院-招生]和[复旦大学 ...

  6. 二次元的正确打开方式

    本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有技术干货文章,整理的学习资料,一线大厂面试经验分享等,欢迎 Star 和 完善. 一 ...

  7. 论品质自驾游正确打开方式:晒晒彭于晏的自驾游新装备

    阳春三月,又逢一年春暖花开季,正是自驾好时节! 试想一下,鲜花盛开,春风徐徐,家人(美人)相伴,开着心爱的座驾和春天来场约会.与此同时,自驾游途中享受各种健康美味的吃货之旅,玩转露营烧烤. 这是何其幸 ...

  8. 彭于晏牵手英得尔T20,这才是品质自驾游正确打开方式

    国家旅游局数据中心数据显示,2018年春节期间,全国共接待游客3.86亿人次,同比增长12.1%,旅游收入达到4750亿元,同比增长12.6%.而在活跃的旅游市场中,自驾游占比接近85%,成为国内家庭 ...

  9. 极盾·析策,XDR的正确打开方式

    近日, Gartner正式发布了2022安全运营技术成熟度曲线(Hype Cycle),正如大家所预测的那样,XDR终于站上了Peak of Inflated Expectations的顶端,成为安全 ...

  10. opengl 贴图坐标控制_材质贴图正确打开方式

    哈喽,各位观众朋友们好鸭~欢迎来到讲道理画图的地方,我是黄玮宁. 最近呀经常有小伙伴来问我那些不同通道的材质贴图该怎么用,而且频率不是一般的高,所以我觉得有必要来说说这些通道贴图的用法了. 视频版(B ...

最新文章

  1. android setting模块,android O版本 设置(Settings)模块总结--设置的一级界面的加载
  2. 正则表达式实现将html文本转换为纯文本格式(将html字符串转换为纯文本方法)
  3. 电脑开机一会就蓝屏怎么回事_客户电脑老是出现问题,三天来找三次麻烦!拆机后“真凶”大白!...
  4. VTK:结构化网格之VisualizeStructuredGridCells
  5. 读书推荐:2017 第一期
  6. java停车场管理系统程序设计代码_社区养老服务管理系统,java程序设计
  7. centos 没有nmtui命令_Linux free 命令
  8. 用计算机探索规律反思,用计算器探索规律教学反思
  9. vue性能优化-------vendor优化详细用法(瘦身),减小体积,引入cdn
  10. CodeChef - ELHIDARR Find an element in hidden array(互动题)题解
  11. Eviews做ARIMA模型
  12. CentOS修改SSH端口号
  13. XS9951 两通道多合一同轴高清解码芯片 国产
  14. 什么是数据运营?数据运营是做什么的?
  15. python upd接收数据+动态折线图+线程间通信+字节计算
  16. 基于TCP协议的游戏代理接口测试工具<二>:工具架构与代理主体实现
  17. 大脑的终极秘密——从狮子也有意识谈起
  18. 查找mac系统下的隐藏文件以及隐藏文件夹的方法
  19. leetcode:活字印刷
  20. 微软新品发布会汇总:更新Surface硬件产品 首发智能耳机

热门文章

  1. 2个网卡配置相同ip 华为交换机_华为交换机互联实例配置—小刀网络专家
  2. emlog程序仿小刀娱乐网模板最终版本分享
  3. 300道Java面试题(包括计算机基础),少走弯路
  4. oracle 10g运维手册
  5. 如何用手机调整PDF文件?几个步骤学习一下
  6. 甘肃非煤矿山电子封条 智慧矿山 opencv
  7. shiro-No realms have been configured
  8. python ui bs_期权及 Black-Scholes模型的python实现
  9. 需求分析报告应该包含哪些部分_如何写一篇惊艳的财务分析报告,果断收藏!...
  10. SpringMvc--处理中文乱码问题