把iconfont图标批量转换成微信小程序的标准组件(小程序使用iconfont)

网友投稿 930 2022-10-12

把iconfont图标批量转换成微信小程序的标准组件(小程序使用iconfont)

把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中使用图标

// 原色彩// 单色:红色// 多色:红色+橘色// 不同格式的颜色写法// 与文字对齐 Hello

更新图标

当您在iconfont-中的图标有变更时,只需更改配置symbol_url,然后再次执行Step 3即可生成最新的图标组件

# 修改 symbol_url 配置后执行:# 微信小程序npx iconfont-wechat# 支付宝小程序npx iconfont-alipay# 百度小程序npx iconfont-baidu# 头条小程序npx iconfont-toutiao# QQ小程序npx iconfont-qq

扩展

平台
Tarotaro-iconfont-cli
React Nativereact-native-iconfont-cli
React H5react-iconfont-cli
Flutterflutter-iconfont-cli

欢迎使用,并给我一些反馈和建议,让这个库做的更好

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot实现WebSocket即时通讯的示例代码
下一篇:【c++基础】c++创建文件夹
相关文章

 发表评论

暂时没有评论,来抢沙发吧~