reactjs中离线使用font-awesome图标

问题描述:使用reactjs+redux+antd搭建的前端框架,部署在内网之后发现图标丢失。

解决: 

1、尝试将antd的图标本地化,虽然本地化成功,但是图标无法实现动态加载,即无法实现根据后台返回的json自动加载图标:

title={<span><i className="iconfont">&#x33;</i><span style={{fontSize:'16px'}}>{v.txt}</span></span>}>

<i>标签中的内容必须是特殊字符串,而不能是{v.icon},这样就导致无法动态加载图标。(上一篇博客有介绍如何做)

2、尝试使用font-awesome图标,成功。

(1)下载 font-awesome.min.css到本地,新建文件夹放到index.html同级目录

(2) 在index.html中引用以上css文件:

<link rel="stylesheet" href="font-awesome.min.css">

(3)下载 fontawesome-webfont.woff2到本地,在index.html文件的同级目录下新建文件夹fonts,将字体文件放入该文件夹。

(4)

npm install react-fontawesome --save

(5)在使用到图标的文件中添加font-awesome:

import FontAwesome from 'react-fontawesome';

(6)使用:

<SubMenu key={v.id}
     title={<span><FontAwesome name={v.icon} style={{paddingRight:"5px"}}/><span style={{fontSize:'16px'}}>{v.txt}</span></span>}>
        {
          v.child.map(v2 => {
              return <Menu.Item key={v2.sref} style={{fontSize:'13px'}}>
                  <Icon type={v2.icon}/>
                   <span>{v2.name}</span>
                   </Menu.Item>
           })
         }
</SubMenu>




猜你喜欢

转载自blog.csdn.net/shiyibodec/article/details/79612403