vue使用Font Awesome的方法步骤


Posted in Javascript onFebruary 26, 2019

折腾前言

目前工作主要使用 vue.js 框架进行开发,自己又对 vue 不是那么了解,还是半桶的状态,所以得加紧步伐赶紧熟悉起来,这两天在使用脚手架 vue-cli 创建项目玩耍中,又一直对font-awesome锲而不舍,通过 github 了解到早有大牛搞出了 vue-awesome,因此就开始折腾了……

废话不多说,开搞!

准备工作

这个是作者的 github 地址:飞机

为了演示完整步骤,用脚手架新建个项目

正在创建中…

趁此闲话几句

这种方式使用有个好处就是,你可以自己自定义任何图标,即用 svg 格式输出,然后通过 Icon.register 去注册一个图标,注册方式如下:

如果图标很多的时候,DOM 中可能分散着大量的 svg 标签,这个不知道算不算缺点来着。

Icon.register({
  'chevron-right': {
    'width': 1280,
    'height': 1792,
    'paths': [{
      'd': 'M1107 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z'
    }]
  }
});

chevron-right 这个是该图标的名字,在使用的时候通过

<icon name="chevron-right"></icon> 去使用,至于样式按照正常定义即可。

paths 里面就是图标的绘制 svg 时候的路径信息

安装OK了,进入正题……

准备工作:

安装 vue-awesome

$ npm install vue-awesome --save

这个简单安装完成就OK。

结果预览

从图中看其实图标最后就是个 svg 标签

vue使用Font Awesome的方法步骤

图标存放目录

为了开发方便,新建 src/icons 目录集中存放图标js文件

$ cd src/

$ mkdir icons && cmod

这里 cmod 是 777 权限,由于是用的是虚拟机,所以经常出现权限问题,因此索性直接给 777(仅限本地开发)

icon 组件

下载 Icon.vue 文件

到这里下载 Icon.vue 文件,建议将整个项目 git 下来。

这个组件的作用就是,用来创建 <icon name="your icon name"></icon> 自定义标签。

然后把 Icon.vue 放到 components 目录下(放哪里可以自己决定)

src/icons 创建注册图标文件

这个目录集中放置所有 icon 的注册 js 文件

创建出口文件 index.js 这里面将引入所有图标 js 文件

// src/icons/index.js

import './chevron-right.js';

// ...... 其他需要的图标文件

以右键头图标为例:(chevron-right.js)

import Icon from '../components/Icon.vue';

Icon.register({
  'chevron-right': {
    'width': 1280,
    'height': 1792,
    'paths': [{
      'd': 'M1107 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z'
    }]
  }
});

项目入口 main.js 引用字体库

项目主入口文件 main.js 中引入 vue-awesome 库和 icons/index.js 文件

引入图标组件

import Icon from './components/Icon';

引入图标内容文件

import './icons/index.js';

然后将 Icon 注册成 vue 组件

Vue.component('icon', Icon);

注册完成之后,我们就可以在代码中直接使用 <icon></icon> 标签了

结束

使用步骤还是很简单的,经过上面的步骤之后我们就可以正常使用图标库了

总结下来步骤其实就下面几步

  1. import Icon.vue 组件
  2. new you-icon.js,里面通过 Icon.register 注册图标
  3. 【可选】 新建图标文件出口文件,这个在使用的图标很多的时候比较方便
  4. <icon name="you icon name"></icon> 引用图标
  5. 给图标设置样式(大小可以通过 transform: scale() 来设置)

PS: 直接设置字体,改变不了大小;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用location.hash实现跨域iframe自适应
May 04 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
IE中的File域无法清空使用jQuery重设File域
Apr 24 Javascript
js实现感应鼠标图片透明度变化的方法
Feb 20 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
jquery-mobile表单的创建方法详解
Nov 23 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 #Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 #Javascript
JS实现电话号码的字母组合算法示例
Feb 26 #Javascript
JS实现的合并两个有序链表算法示例
Feb 25 #Javascript
JS实现判断有效的数独算法示例
Feb 25 #Javascript
js实现通过开始结束控制的计时器
Feb 25 #Javascript
js实现倒计时器自定义时间和暂停
Feb 25 #Javascript
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python函数参数类型*、**的区别
2015/04/11 Python
老生常谈Python基础之字符编码
2017/06/14 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
python实现简单成绩录入系统
2019/09/19 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
Python偏函数实现原理及应用
2020/11/20 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
一套软件测试笔试题
2014/07/25 面试题
质量工程师岗位职责
2013/11/16 职场文书
新闻专业推荐信范文
2013/11/20 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
六年级作文之自救
2019/12/19 职场文书
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers