ReactNative --- 引入彩色图标iconfont [react-native-iconfont-cli]
ReactNative — 引入彩色图标iconfont最近遇到的问题,记一笔文档:https://github.com/iconfont-cli/react-native-iconfont-cli通常地,在RN里使用iconfont,我们借助react-native-vector-icons导入ttf字体文件。使用ttf字体有一个弊端,就是每次更新图标,都要相应的更新ttf文件,然后再次...
ReactNative — 引入彩色图标iconfont
最近遇到的问题,记一笔
文档:https://github.com/iconfont-cli/react-native-iconfont-cli
通常地,在RN里使用iconfont,我们借助react-native-vector-icons导入ttf字体文件。
使用ttf字体有一个弊端,就是每次更新图标,都要相应的更新ttf文件,然后再次打包发布APP。而且ttf不支持多种色彩的图标,导致所有图标都是单色。如果你是借助react-native-vector-icons,该库内置了10多套ttf文件,合起来有2M左右;你可能用不到它们,但是它们仍然会被打包进你的APP里。
Step 1
安装插件
# Yarn
yarn add react-native-svg
yarn add react-native-iconfont-cli --dev
Step 2
静态链接
# RN < 0.60
react-native link react-native-svg
Step 3 生成配置文件
npx iconfont-init
此时项目根目录会生成一个iconfont.json的文件,内容如下:
{
"symbol_url": "iconfont官网提供的项目symbol链接",
"use_typescript": false,
"save_dir": "./src/iconfont",
"generate_mode": "all-in-one",
"trim_icon_prefix": "icon",
"default_icon_size": 18,
"summary_component_name": "Icon"
}
Step 4
开始生成React-Native标准组件
npx iconfont-rn
使用
1、使用汇总Icon组件:
import Icon from '../src/iconfont/Icon';
export const App = () => {
return (
<View>
<Icon name="alipay" size={20} />
<Icon name="wechat" />
</View>
);
};
2、当generate_mode = depends-on
, 每个图标都会生成一个组件
import IconAlipay from '../src/iconfont/IconAlipay';
import IconWechat from '../src/iconfont/IconWechat';
export const App = () => {
return (
<View>
<IconAlipay size={20} />
<IconWechat />
</View>
);
};
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)