uniapp开发app框架在提升开发效率中的独特优势与应用探索
982
2022-10-12
把iconfont图标批量转换成微信小程序的标准组件(小程序使用iconfont)
mini-program-iconfont-cli
把iconfont图标批量转换成多个平台小程序的组件。不依赖字体,支持多色彩。
支持平台:
微信小程序支付宝小程序百度小程序头条小程序(字节跳动)QQ小程序
特性
1、纯组件 2、不依赖字体文件 3、支持px和rpx两种格式 4、原样渲染多色彩图标 4、图标颜色可定制
Step 1
安装插件
# Yarnyarn add mini-program-iconfont-cli --dev# Npmnpm install mini-program-iconfont-cli --save-dev
Step 2
生成配置文件
npx iconfont-init# 可传入配置输出路径# npx iconfont-init --output iconfont.json
此时项目根目录会生成一个iconfont.json的文件,内容如下:
{ "symbol_url": "请参考README.md,复制 http://iconfont- 官网提供的JS链接", "save_dir": "./iconfont", "use_rpx": false, "trim_icon_prefix": "icon", "default_icon_size": 18}
配置参数说明:
symbol_url
请直接复制iconfont官网提供的项目链接。请务必看清是.js后缀而不是.css后缀。如果你现在还没有创建iconfont的仓库,那么可以填入这个链接去测试:http://at.alicdn.com/t/font_1373348_kk9y3jk2omq.js
save_dir
根据iconfont图标生成的组件存放的位置。每次生成组件之前,该文件夹都会被清空。
use_rpx
是否使用微信提供的尺寸单位rpx还是普通的像素单位px。默认值为false,即使用px
trim_icon_prefix
如果你的图标有通用的前缀,而你在使用的时候又不想重复去写,那么可以通过这种配置这个选项把前缀统一去掉。
default_icon_size
我们将为每个生成的图标组件加入默认的字体大小,当然,你也可以通过传入props的方式改变这个size值。
Step 3
开始生成小程序标准组件
# 可传入配置文件路径# npx iconfont-XXXX --config iconfont.json# 微信小程序npx iconfont-wechat# 支付宝小程序npx iconfont-alipay# 百度小程序npx iconfont-baidu# 头条小程序npx iconfont-toutiao# QQ小程序npx iconfont-qq
生成后查看您设置的保存目录中是否含有所有的图标
在生成代码之前,你可以顺便参考snapshots目录自动生成的快照文件。
Step 4
微信小程序 | QQ小程序
在根目录 的app.json文件中引入全局图标组件,避免每个page都引入(麻烦)
// 绝对路径{ "usingComponents": { "iconfont": "/iconfont/iconfont" }}
支付宝小程序 | 百度小程序 | 头条小程序
不支持全局引入,您需要在各自的page的.json文件中引入。
// 绝对路径{ "usingComponents": { "iconfont": "/iconfont/iconfont" }}
使用
在page中使用图标
// 原色彩
更新图标
当您在iconfont-中的图标有变更时,只需更改配置symbol_url,然后再次执行Step 3即可生成最新的图标组件
# 修改 symbol_url 配置后执行:# 微信小程序npx iconfont-wechat# 支付宝小程序npx iconfont-alipay# 百度小程序npx iconfont-baidu# 头条小程序npx iconfont-toutiao# QQ小程序npx iconfont-qq
扩展
平台 | 库 |
---|---|
Taro | taro-iconfont-cli |
React Native | react-native-iconfont-cli |
React H5 | react-iconfont-cli |
Flutter | flutter-iconfont-cli |
欢迎使用,并给我一些反馈和建议,让这个库做的更好
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~