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 相关文章推荐
javascript检测是否联网的实现代码
Sep 28 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
使用JS正则表达式 替换括号,尖括号等
Nov 29 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
夯基础之手撕javascript继承详解
Nov 09 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
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
删除重复数据的算法
2006/11/23 Javascript
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
python交互式图形编程实例(一)
2017/11/17 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
小区物业门卫岗位职责
2014/04/10 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
个人求职自荐信范文
2015/03/06 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
广播体操比赛主持词
2015/06/29 职场文书