当页面需要使用较多字体图标时, antd内置的字体图标库满足不了开发需求。这时我们需要去寻找一些外部字体图标。
antd 内部提供了一个跟阿里矢量图标衔接的方法: Icon.createFromIconfontCN,
通过这个方法,我可以去阿里矢量图标库找到开发所需要的图标,并生成symbol代码。通过 Icon.createFromIconfontCN方法生成图标组件
可以把symbol代码放入cdn 也可以放入本地。当 放入本地的时候需要注意路径的问题
import { Icon } from 'antd';
const IconFont = Icon.createFromIconfontCN({
scriptUrl: './font_8d5l8fzk.js',
});
ReactDOM.render(
<div className="icons-list">
<IconFont type="icon-tuichu" />
<IconFont type="icon-facebook" />
<IconFont type="icon-twitter" />
</div>,
mountNode,
);
注意!
把symbol代码放到当前页面目录下,并且用./font_8d5l8fzk.js 引用,这样可能会无效。
因为不是import 引入 ,webpack打包的时候,并不会解析./font_8d5l8fzk.js的路径,symbol代码不会被打包进去,这时页面获取的./font_8d5l8fzk.js,是错误的。
解决方法 :
我们应该把symbol代码,放在静态目录下,或者cdn上。
放在项目的静态目录文件夹时,例如放在 assets文件夹js目录下,就可以使用./assets/js/font_8d5l8fzk.js
保证获取到正确的symbol代码
const IconFont = Icon.createFromIconfontCN({
scriptUrl: '.assets/js/font_8d5l8fzk.js',
});