elementUI字体图标不显示问题

Posted myfate

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elementUI字体图标不显示问题相关的知识,希望对你有一定的参考价值。

原文链接: 点我

自己搭建的Vue项目,没有使用vue-cli,引入elementUI时提示字体图标404,找不到文件,如下错误:

GET http://localhost:9090/WEB-INF/content/2fad952a20fbbcfd1bf2ebb210dccf7a.woff 404 (Not Found)

在网上查了下解决办法,是因为elementUI的字体图标是.woff和.ttf格式的,在webpack的loaders中需要配置,在module:loaders: 中新增内容,如下:

1 
2         test: /\.(eot|svg|ttf|woff|woff2?)$/,
3         loader: ‘file-loader‘
4 

然后通过npm安装file-loader依赖,命令如下:
npm/cnpm install file-loader --save
如果你足够幸运那么问题应该解决了。很不幸我就是不幸的那个,如果你也是,那么接着往下看


 

 

404没有了,可是引入的图标却成了这样子
 
技术图片
image.png

所有字体图标全部显示方框。
多方查证才发现是安装的file-loader依赖和webpack版本冲突,但是又不敢随便修改webpack的版本,于是最后采用了一个方法,将file-loader更换为url-loader,于是问题圆满解决
附上module:loaders: 中新增的最终代码:

1 
2         test: /\.(eot|svg|ttf|woff|woff2?)$/,
3         loader: ‘url-loader‘
4 

然后 npm/cnpm install url-loader --save

我遇到这个问题 npm install解决了 原因是webpack.base.conf.js里边多了一个

1 
2 test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
3 loader: ‘url-loader‘,
4 options: 
5 limit: 10000,
6 name: utils.assetsPath(‘fonts/[name].[hash:7].[ext]‘)
7 
8 ,

分支代码有改动了,打包后的css文件里引用的字体路径不对了
原来的:
@font-facefont-family:element-icons;src:url(../fonts/element-icons.535877f.woff) format("woff"),url(../fonts/element-icons.732389d.ttf) format("truetype");font-weight:400;font-style:normal

现在的
@font-facefont-family:element-icons;src:url(static/fonts/element-icons.535877f.woff) format("woff"),url(static/fonts/element-icons.732389d.ttf) format("truetype");font-weight:400;font-style:normal

结论:相对路径引用错了,"static" 替换成 ".." 指向上一级的同级目录下的fonts/

以上是关于elementUI字体图标不显示问题的主要内容,如果未能解决你的问题,请参考以下文章

elementui图标在手机上不显示

vue项目打包部署elementUI的字体图标丢失问题

Vue+elementUI npm run build打包之后字体 图标丢失问题

vue+elementUI引用第三方iconFont字体图标(阿里巴巴矢量图标库)

图标字体不显示一些图标

bootstrap的字体图标怎么引入