字蛛的使用及说明

web字体体积大导致加载过慢,对于前端来说是一大需要解决的问题,作为一个前端小白,看不懂文档也是个通病,不过还是花了一些时间和朋友一起研究了这个问题,并找到了解决方案就是“字蛛”。

字蛛网站:http://font-spider.org
GitHub源码:https://github.com/aui/font-s...

字蛛简介:

官方的说法 "字蛛是一款中文字体压缩器"。字蛛通过分析本地 CSS 与 HTML 文件
获取 WebFont 中没有使用的字符,并将这些字符数据从字体中删除以实现压缩,同时生成跨浏览器使用的格式。

字蛛的API:

GitHub中字蛛有4个API。
1. dest 压缩多个HTML文件的WebFont:
    font-spider dest/*.html
2.--info 显示网站上使用的WebFont:
    font-spider --info http://fontawesome.io
3.--ignore 忽略文件:
    font-spider --ignore “图标\\ .css $ ” dest / * .html
4.--map 此参数将映射WebFont的联机页面到本地,然后压缩(本地路径必须是绝对路径):
    font-spider --map “ http://font-spider.org/font,/Website/font ” http://font-spider.org/index.html

看网站和GitHub还是比较清楚的,但是我看文档比较费劲,花了好久才搞明白,下面就说一下使用流程和我碰到的一些需要注意的事项。

1. 首先按照官网说的 先安装好NodeJS然后执行:

npm install font-spider -g

安装成功后,可以用‘font-spider -V‘ 检查一下是否安装成功。

2. 在CSS中使用Webfont:

@font-face {
          font-family: ‘字体名称‘;
          src: url(‘../font/字体名称.eot‘);
          src:
            url(‘../font/字体名称.eot?#font-spider‘) format(‘embedded-opentype‘),
            url(‘../font/字体名称.woff2‘) format(‘woff2‘),
            url(‘../font/字体名称.woff‘) format(‘woff‘),
            url(‘../font/字体名称.ttf‘) format(‘truetype‘),
            url(‘../font/字体名称.svg‘) format(‘svg‘);
          font-weight: normal;
          font-style: normal;
        }
        //字体名称是自定义的,按自己的要求决定名字就可以了。

官网上的注意事项是两条:

1. @font-face 中的 src 定义的 .ttf 文件必须存在,其余的格式将由工具自动生成。
2. 开发阶段请使用相对路径的 CSS 与 WebFont。

使用的时候 把上面这一部分代码直接复制就可以了。
特别需要注意的是:

1. 官网上的第一条注意事项,ttf格式是必须存在的,也就是ttf格式一定要按相对路径找到文件才可以。
其他的一定都不要改动,只把字体名字改成自定义的就可以了。(我当时就改动了其他的结果一直没生效)
2. "../font/"改成自己的路径建议与ttf格式字体的路径一样,
执行完命令后会自动备份原始的ttf格式,压缩好其他格式将直接放在该路径下。

3.运行font-spider命令:

在node.js command prompt中直接输入需要压缩的页面
font-spider ./demo/*.html

按照网页的介绍来说,进行完这三步后,就会发现字体已经压缩好了,在正式使用前可以先利用demo尝试一下。



按照开发来说,一般我们会把 HTML 按不同的类别分别放进不同的文件夹,可我们怎么能同时爬取这些字呢,这时就可以利用font-spider在GitHub中给出的API "dest".

GitHub中有一个例子:"font-spider dest/news.html dest/index.html dest/about.html"

从这个例子中我们可以发现,我们可以直接压缩几个页面或文件夹的字体,但如果每次在项目布上线前我们都要写一大长串不同的路径和文件名字,这真是一件让人头疼的事情。

为了解决这个问题,我们编写了一段bash脚本方便大家使用,只要在每次项目上线前写出HTML所在文件夹的路径,这段脚本就会自动遍历出这个文件夹中所有的HTML文件,压缩并执行font-spider命令,从而直接对字体进行生成。当然同时如果文件夹内还存在其他类型的文件,本脚本也可以做到忽略其他文件,只遍历HTML文件。

使用脚本的方法和其他需要注意的几项:

1.使用前需要安装bash,我使用的是Git Bash。
2.打开脚本后会出现一句话 "please input build path:" ,然后写上你需要压缩并执行字蛛的文件夹路径,
点击回车命令就会执行,执行成功后窗口将自动关闭。

如图:

3.使用字蛛 nodeJs 版本不建议过高,我使用8.x的版本没有成功,后来改成6.x的版本成功了。
看了其他人的文档发现可能也跟npm有关,如果npm版本过高也是执行不成功。
4.其他文档中也说字蛛使用有坑点,但本人使用中并未碰到,所以在这里就不再赘述了。

最后附上脚本的下载链接(上次的脚本有些问题,现在已经更改并测试没有问题):http://pan.baidu.com/s/1kVf1b4z

来源于https://segmentfault.com/a/1190000011002349

原文地址:https://www.cnblogs.com/cenfengtao/p/10039947.html

时间: 2024-11-07 01:55:01

字蛛的使用及说明的相关文章

中文字体【字蛛】的使用

官网:http://font-spider.org/ 安装字蛛需要先安装node. 先安装好 NodeJS,然后执行: npm install font-spider -g 构建插件:grunt-font-spider | gulp-font-spider 在 CSS 中使用 WebFont: /*声明 WebFont*/ @font-face { font-family: 'pinghei'; src: url('../font/pinghei.eot'); src: url('../font

字蛛 自定义字体

可能 网站中会用到一些漂亮的文字,又不想用图片, 这样可以用自定义字体, 用的工具是 字蛛http://font-spider.org/ 字蛛工具 依赖 nodeJs, 先安装好 NodeJS,然后执行安装字蛛: npm install font-spider -g 字蛛通过分析本地 CSS 与 HTML 文件获取 WebFont 中没有使用的字符,并将这些字符数据从字体中删除以实现压缩,同时生成跨浏览器使用的格式. 以下都是必须的,字蛛生成的字体是文件中有的文字,第一步 声明@font-fac

中文WebFont解决方案Font-Spider(字蛛)

我们在日常需求中,经常会碰到视觉设计师对某个中文字体效果非常坚持的情况,因为页面是否高大上,字体选择是很重要的一个因素,选择合适的字体可以让页面更优雅.面对这种问题,我们通常以下方式来进行设计还原: 使用图片背景还原设计,即使用 photoshop 将文本图层单独导出成网页背景图片. 产生的问题 1.    制作与维护成本很高.切图繁琐.高清屏适配繁琐.合并雪碧图更繁琐,后期修改更加繁琐. 2.    用户体验差.导致网页不支持选中.复制.搜索.翻译.矢量缩放,也会影响视障用户使用读屏器操作网页

精简TTF字体、汉字字体瘦身 FontPruner(非字蛛)

网上比应用比较多的 字蛛 http://font-spider.org/ 本文使用了本机安装软件,得到瘦身后的 TTF 字体文件 准备工具: python : 我使用是 python-3.7.2.exe jre: 我是用的是 jre-8u191-windows-x64.exe FontPruner: https://gulu-dev.com/post/2017/2017-09-15-font-pruner-intro/content 我的使用环境:win 7 64虚拟机 step1:安装 pyt

字体压缩 - 字蛛 font-spider

个人博客:柚子青年. 原文链接:字体压缩 - 字蛛 font-spider 安装 font-spider npm install font-spider index.html <div class="content">0123456789</div> index.css @font-face { font-family: 'DINAlternateBold'; src: url('./font/DIN-Alternate-Bold.ttf') } .conten

用 字蛛 取出需要的字符应用字体

一.安装font-spider npm install font-spider -g 二.目录结构 font-spider font FZZZHONGHJW.ttf font.html 三.font.html内容 <!DOCTYPE html><html><head> <title>方正正中黑简体</title> <meta charset="utf-8"> <style type="text/cs

CSS3 基本知识

1.CSS3 简介 CSS 指层叠样式表 (Cascading Style Sheets),用于控制网页的样式和布局,CSS3 是最新的 CSS 标准. 在网页制作时采用层叠样式表,可以有效的对页面的布局.字体.颜色.背景和其他效果实现更加精确的控制,只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分.通过仅仅编辑一个简单的 CSS 文件,外部样式表有能力同时改变站点中所有页面的布局和外观. CSS3 语言开发是朝着模块化发展的.之前的规范作为一个模块很庞大而且比较复杂,所以 CSS

网站使用自定义字体导致打开很慢

今天偶尔看到一个网页打开首页一分钟竟然还没有出来!!! 这还了得,做IT就是强迫症多,非得看看是什么原因,不用说F12跑一圈!! 查找原因,是ttf字体库导致的,一看14M,OMG!! 继续查看源代码分析如下: 百度google,终于发现了一好办法[字蛛],感觉不错,文件可以瞬间小很多,其实原理我觉得很简单,英文就26个字母,中国汉字那么多,字体文件肯定 会很大, -------------------------------华丽的分割线-------------------- [字蛛]只不过是

优秀网站看前端 —— 小米Note介绍页面

刚开始经营博客的时候,我写过不少“扒皮”系列的文章,主要介绍一些知名站点上有趣的交互效果,然后试着实现它们.后来开始把注意力挪到一些新颖的前端技术上,“扒皮”系列便因此封笔多时.今天打算重开“扒皮”的坑,不过咱挂个优雅点的名字——“优秀网站看前端”,顾名思义的,也是寻觅一些值得玩味的趣味网站,来学习它们的前端技术和交互理念. 作为本系列的开篇,我们拿“买手机送国土”的小米来打头阵,缘由是鄙人有着更换手机的打算又刚好看上小米note高配版,于是逛了下小米note的介绍页面,感觉交互做的挺不错,特别