Ant Design离线使用Icon图标资源
第一种方法:[推荐]
-
// ICONFONT
-
@iconfont-css-prefix : anticon;
-
@icon-url : “http://localhost:8080/monitor/font/iconfont”;
http://localhost:8082/ds_monitor/访问项目的主目录
font 自己定义的存放字体图标的文件
iconfont 文件名称,其他代码会添加不同后缀获取不同文件
完成。
-
@import “~antd/dist/andt.less”;
-
@icon-url: \’~antd/dist/iconfont/iconfont\’;
第二句是引入你自己下载的本地 字体和图标库。
-
<span style=“”>{
-
“plugins”: [[“import”, {
-
“libraryName”: “antd”,
-
“style”: false
-
}]],
-
“presets”: [
-
[
-
]
-
}</span>
第二种结束。
第三种方法:没有成功[可省略节省时间]
25 MAY 2017 on React, Ant-Design http://www.imshuai.com/ant-design-offline-icon/
最近在使用React实现公司一套系统的前端。控件库,看中了蚂蚁金服的Ant Design。
脚手架使用的是React官方的create-react-app,创建完成后,引入了Ant Design。在我自己的笔记本调试的都很好,但放到公司的开发机器上,发现图标资源都无法加载。马上看了一下浏览器的资源请求情况,果然,Ant Design默认使用的是阿里的CDN。
公司是内网环境,显然是行不通的。官方文档果然给出了本地部署的提示。
研究了一番,发现主要是要覆盖@icon-url
这个less变量,所以就要开启less支持。幸好官方在自定义主题一节,已经给出了create-react-app中如何实现主题less变量的覆盖;同理,在modifyVar节点增加@icon-url
的覆盖,如下:
-
modifyVars: {
-
// 修改整体主题颜色
-
// “@primary-color”: “#1DA57A”,
-
// 修改图标库为本地离线,而不是阿里云CDN上的图标资源
-
“@icon-url”: \'”/iconfont/iconfont”\’ },
然后在/public
目录增加iconfront
目录,并将下载好的Web Font文件放到这个目录即可。 不过还是有几个细节要注意:
- 要同时修改
webpack.config.dev.js
和webpack.config.prd.js
,保证测试环境和生产环境都生效。 -
iconfront
文件夹要放在/public
目录,而不是/src
目录。虽然调试环境两者都能生效,但生产环境后者是不生效的。 -
@icon-url
的值里面有双引号。http://www.imshuai.com/ant-design-offline-icon/