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 相关文章推荐
jquery简单瀑布流实现原理及ie8下测试代码
Jan 23 Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
jquery动态改变form属性提交表单
Jun 03 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
js操作数组函数实例小结
Dec 10 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
May 22 Javascript
微信小程序WebSocket实现聊天对话功能
Jul 06 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
使用vue cli4.x搭建vue项目的过程详解
May 08 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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
php生成随机密码的几种方法
2011/01/17 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
Python pandas用法最全整理
2019/08/04 Python
python argparser的具体使用
2019/11/10 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
教育学专业毕业生的自我评价
2013/11/21 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
优秀公益广告词大全
2014/03/19 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python