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

被折叠的 条评论
为什么被折叠?



