在小程序框架 wepy 中使用 iconfont 图标字体

新的小程序项目准备踩坑 Wepy 啦!

纠结过原生、Wepy、mpvue到底用哪个。

  • 原生:之前的项目用的就是原生,开发起来有点太原始,想换换口味。把原生作为托底方案,假如另外两个遇到踩不过去的坑就转用原生做。
  • wepy:star数量有16k,看了看官方文档,感觉开发方式还不错。毕竟算是腾讯亲生儿子,感觉靠谱些。
  • mpvue:star数跟 wepy 不相上下,也是 16k,一套代码多端通用很有吸引力。

mpvue 跟 wepy 真的很难抉择,我目前没有兼容多平台的需求,所以直觉告诉我还是用 wepy 吧~

100 多位经验丰富的开发者参与,在 Github 上获得了近 1000star 的全栈全平台开源项目想了解或参与吗?
项目地址:https://github.com/cachecats/coderiver

为什么用图标字体

一是轻量级、灵活性,二是小程序的特殊性。

目前小程序整体虽然可以达到 8M,但每个分包不能超过2M,图标都用图片的话体积太大。

查找并下载图标

我们采用阿里的 iconfont

打开 iconfont ,搜索想要的图标,然后鼠标放到图标上点购物车小按钮加入购物车,如下图:

image

选完后找到购物车,点添加进项目。没有项目的话可以新建一个。

image

把图标放进项目的目的是,以后再想添加其他图标,直接加入项目即可,方便一键下载。

打开项目,可以看到刚选择的图标都在里面。点 下载至本地,将这些图标字体打包下载到本地。

image

下载完是一个 .zip 压缩包,解压得到一系列文件。

image

除了前两个,其他的几个文件都是以 iconfont 作为文件名,只是后缀不同。猜想这应该是为了兼容不同的浏览器而形成的不同格式,打开 iconfont.css 瞅一眼,可以看到前面几行是引入了下面几个文件,还有注释,分别是兼容 IE9IE6-8 等各种版本的浏览器。

image

知道原理后,可以根据自己项目的情况选择引入哪些文件。最保险的是把以 iconfont 为文件名的几个文件都拷过去,肯定没问题。但小程序的内核版本应该比较高,在微信内部打开不用考虑兼容性问题,所以我们只用引 iconfont.css 这一个文件即可。

将 iconfont 引入wepy项目

打开 wepy 项目,将 iconfont.css 拷到项目中。我习惯放到 src/assets/iconfont 下面。

image

拷进来之后还要做一些更改。

由于我在项目中用了 SCSS,为了引入方便将文件名改为 iconfont.scss。虽然 SCSS 也能直接引入 CSS 文件,但我试了如果用 .css 作为后缀则引不成功,所以还是改成 .scss 吧。

然后改 iconfont.scss 里的代码,把代码中引入其他文件的代码都删掉,只保留有 base64 的那行:

url('data:application/x-font-woff2;charset=utf-8;base64...

然后还需要在 url 的前面加上 src:。改完后最终的代码:

@font-face {font-family: "iconfont";
  src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAA...==') format('woff2');
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-like:before {
  content: "\e614";
}

.icon-add:before {
  content: "\e612";
}

上面 base64 中间删掉了很多用 … 代替了。

改完 iconfont.scss ,再在 app.wpy 中引入即可。

<style lang="scss">
  @import "./assets/iconfont/iconfont";

  .container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
  }
</style>

现在就可以愉快的在 wepy 项目中使用图标字体啦!

演示

新建一个页面,放一个 text 和 一个图标,编译后用微信开发工具打开看效果

<template lang="wxml">
  <div>
    <text>哈哈</text>
    <i class='iconfont icon-add'></i>
  </div>
</template>
image

图标显示成功。

以上就是在 wepy 中使用 iconfont 图标字体的全部内容。


全栈全平台开源项目 CodeRiver

CodeRiver 是一个免费的项目协作平台,愿景是打通 IT 产业上下游,无论你是产品经理、设计师、程序员或是测试,还是其他行业人员,只要有好的创意、想法,都可以来 CodeRiver 免费发布项目,召集志同道合的队友一起将梦想变为现实!

CodeRiver 本身还是一个大型开源项目,致力于打造全栈全平台企业级精品开源项目。涵盖了 React、Vue、Angular、小程序、ReactNative、Android、Flutter、Java、Node 等几乎所有主流技术栈,主打代码质量。

目前已经有近 100 名优秀开发者参与,github 上的 star 数量将近 1000 个。每个技术栈都有多位经验丰富的大佬坐镇,更有两位架构师指导项目架构。无论你想学什么语言处于什么技术水平,相信都能在这里学有所获。

通过 高质量源码 + 博客 + 视频,帮助每一位开发者快速成长。

项目地址:https://github.com/cachecats/coderiver


您的鼓励是我们前行最大的动力,欢迎点赞,欢迎送小星星✨ ~

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容

  • 1. 前言 从16年微信小程序内测的时候到如今,微信小程序用时间与实践证明了自己的变革与价值,微信小程序的规则也在...
    keyuan0214阅读 67,155评论 4 26
  • 众所周知, 小程序的有一个1M大小的限制. 而优美的界面离不了各种图形. 如果将这些图形集成到小程序中. 其臃肿的...
    achar阅读 5,403评论 0 10
  • 听说这两天是考研成绩公布的日子, 不知道此时此刻的你心情是怎样的? 是仰天大笑,英雄如我 还是以泪洗面,肠子悔青 ...
    孟享专栏阅读 593评论 0 1
  • 感赏儿子做了数学卷一张,英语卷一张,数学还做了2页复习题,儿子从去年开始一直对做作业自我抗拒,以前我也做不到放任与...
    郑巧莉阅读 136评论 0 3