使用elementui打包后icon图标不显示问题

本文详细介绍了在Vue.js项目中使用Element-UI时,遇到图标在npm run dev环境下正常显示,但在npm run build打包后无法显示的问题。问题根源在于静态字体文件路径错误,实际请求路径与生成路径不匹配。解决方法是在build/utils.js文件中添加publicPath配置,修正静态资源路径。完成修改并重新打包后,图标显示恢复正常。

原文链接:https://blog.csdn.net/weixin_41346436/article/details/104841908

原文部分:
Element-ui项目打包后icon图标不显示
element-ui 自带了一套常用的图标集合,使用起来十分方便。最近发现当 Vue.js 项目中使用 element-ui 图标时,如果使用 npm run dev 方式启动,图标是显示正常的
在这里插入图片描述
而一旦使用 npm run build 编译打包后发布到服务器上,会发现图片显示不出来(Chrome 浏览器下显示方块
在这里插入图片描述
查看网络请求可以看到如下两个字体文件加载不到:会出现如下的错误

http://localhost:59090/static/css/static/fonts/element-icons.535877f.woff
http://localhost:59090/static/css/static/fonts/element-icons.732389d.ttf

在这里插入图片描述

问题原因:
查看 /build/webpack.base.conf.js 文件可以发现,woff 或 ttf 这些字体会经由 url-loader 处理后在 static/fonts 目录下生成相应的文件

在这里插入图片描述
也就是说实际应该通过 /static/fonts/ 路径来获取字体图标,而实际却是请求 /static/css/static/fonts/,自然报 404 错误。
在这里插入图片描述

解决办法
打开 build/utils.js 文件,在如下位置添加 publicPath: ‘…/…/’

在这里插入图片描述
修改完毕后重新 build 发布,可以发现图标已经可以正常显示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值