font-spider(字蛛)的正确打开方式

2023-10-27

前言

最近在部署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...后面在寻求多方帮助之后,自己沉下心来,终于解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

font-spider(字蛛)的正确打开方式 的相关文章

随机推荐

  • C++11线程库 (六) 条件变量 Condition variables

    一 什么是条件变量 条件变量类 condition variable 是一个同步原语 它可以在同一时间阻塞一个线程或者多个线程 直到其他线程改变了共享变量 条件 并通知 primitive 原语 表达的是基础 基本的 是其他复杂应用的构建基
  • 基于高德地图的描点操作,监听地图缩放,展示合理数量的marker

    1 根据两点经纬度算两点之间的距离函数 function Rad d return d Math PI 180 0 经纬度转换成三角函数中度分表形式 计算距离 参数分别为第一点的纬度 经度 第二点的纬度 经度 function GetDis
  • java缓存面试问题_分布式缓存的面试题5

    1 面试题 如何保证Redis的高并发和高可用 redis的主从复制原理能介绍一下么 redis的哨兵原理能介绍一下么 2 面试官心里分析 其实问这个问题 主要是考考你 redis单机能承载多高并发 如果单机扛不住如何扩容抗更多的并发 re
  • R语言数据输入

    一 使用键盘输入数据 在导入数据比较少的时候 我们使用这种方法 R中的函数 edit 会自动调用一个允许手动输入数据的文本编辑器 具体步骤如下 1 创建一个空数据框 或矩阵 其中变量名和变量的模式需与理想中的最终数据集一致 2 针对这个数据
  • java使用aspose将word,excel,ppt转pdf

    1 测试环境springboot jdk1 8 aspose cells 8 5 2 jar 用于转换xls aspose words 16 8 0 jdk16 jar 用于转换doc 2 所用jar 签名百度网盘地址 链接 https p
  • Pytorch加载自己的数据集(以图片格式的Mnist数据集为例)

    文章目录 Pytorch加载自己的数据集 以图片格式的Mnist数据集为例 前言 一 数据集转换 二 构建自己的数据集 1 引入库 2 构建MnistDataset类 3 搭建网络模型 三 完整代码 总结 Pytorch加载自己的数据集 以
  • 【最新更新】2020研究生华为杯数学建模比赛题目+题目分析【持续更新】

    各参赛队伍 为了保证2020年 华为杯 第十七届中国研究生数学建模竞赛顺利举行 现将竞赛开赛的相关事项通知如下 一 时间节点 1 加密题目开始下载时间 2020年9月16日8 00 截止时间 2020年9月20日17 00 2 题目解密密码
  • 强化学习 OpenAI Gym Universe Docker在Windows WSL 2安装配置最全的全记录

    1 事情的起源 全记录事情的起源是为了学习Python强化学习实战 先在自己的windows操作系统的Pycharm Anaconda Gym配置下运行成功了CartPole示例和CarRacing示例 接着运行Universe 据说Ope
  • JVM 与 GC 讲解

    文章目录 一 概述 二 JVM 内存模型 三 GC算法和回收器 1 垃圾回收算法 2 垃圾回收器 四 垃圾回收机制 GC 1 分代垃圾回收机制 2 G1 垃圾回收器 3 FullGC 机制 一 概述 JVM Java Virtual Mac
  • Retrofit2+Rxjava2+Rxandroid+okhttp3+Lifecycle 的MVP网络框架,精简Google官方AAC框架,实现APP生命周期的管理

    一 介绍 目前使用较为广泛的网络请求框架 MVP Retrofit2 okhttp3 Rxjava2 我于2017年也加入了使用行列 在网上找了许多案例 实际项目开发中解决了一些所谓的坑 总结了些内容与大家共享一下 1 什么是MVP 在图中
  • 优惠价,百分比计算,折扣计算,打折计算

    一 优惠价 百分比计算 例如 原价是100元 优惠5 5 5 100 0 05 优惠价 100x5 100x0 05 5 计算得出优惠价是5元 优惠后的价格 原价 优惠价 95 100 5 计算得出优惠后的价格是95元 例如 原价是100元
  • 理解DDoS防护本质:基于资源较量和规则过滤的智能化系统

    本文由 网易云 发布 随着互联网生态逐渐形成 DDoS防护已经成为互联网企业的刚需要求 网易云安全 易盾 工程师根据DDoS的方方面面 全面总结DDoS的攻防对抗 1 什么是DDoS DDoS全称Distributed Denial of
  • steam deck科普、上手教程及模拟器配置指南

    steam deck 前言 早在2021年得时候 坊间就开始流传steam deck这个东西要问世了 但是中途跳了几次票 直到2022年2月 第一批steam deck才正式面向大众玩家 在熟悉steam deck之前 我们有必要了解如下的
  • VS2019 + libcurl5.7.0 + openssl3.0.5 简易编译教程

    VS2019 libcurl5 7 0 openssl编译配置 1 用途 工作用到C 对求高德地图发送https请求 进行逆地址分析 2 文件包下载 2 1 window的openssl3 0 5EXE安装包 链接 exe安装包 2 2 下
  • numpy求平均值

    本文转自链接 https www cnblogs com yibeimingyue p 11413295 html 1 对数组求平均值 import numpy as np a np array 1 2 3 4 print a print
  • C语言问题汇总

    C语言问题汇总 排序方法 冒泡排序 降序排序 作业 从文件中读取内容 字符写入文件 结构体数组 以二进制形式写入文件并读取 将字符串写入文件 并从文件中读取 查找字符在字符串中的位置 字符串链接 不使用strcpy函数 使用strcpy函数
  • 俄罗斯方块C++代码(转载他人代码)

    include
  • (ctf)攻防世界web模块020web2

    题目 首先来到给定的地址 题意很明确 miwen是加密之后的字符串 我们只需要逆向解密出miwen就能得到flag 我们先来代码审计 o strrev str strrev 函数是字符串的倒置 for 0 0 0
  • java.io.IOException: Connection reset by peer问题解决

    java io IOException Connection reset by peer问题解决 今天检查日志 发现 ClientAbortException java io IOException Connection reset by
  • font-spider(字蛛)的正确打开方式

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