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 相关文章推荐
JS 无限级 Select效果实现代码(json格式)
Aug 30 Javascript
解析jquery获取父窗口的元素
Jun 26 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
javascript实现淘宝幻灯片广告展示效果
Apr 27 Javascript
判断访客终端类型集锦
Jun 05 Javascript
前端性能优化及技巧
May 06 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 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 生成饼图 三维饼图
2009/09/28 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
Vue基础配置讲解
2019/11/29 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
python3 使用traceback定位异常实例
2020/03/09 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
介绍一下内联、左联、右联
2013/12/31 面试题
中专生自我鉴定范文
2013/12/19 职场文书
优秀语文教师事迹
2014/05/18 职场文书
部队2014年终工作总结
2014/11/27 职场文书
男方婚礼答谢词
2015/01/20 职场文书
嘉宾邀请函
2015/01/31 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript