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-face{font-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-face{font-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/

转载于:https://www.cnblogs.com/myfate/p/11403983.html

elementUI 是一个基于 Vue.js 的桌面端组件库,提供了一套丰富的 UI 组件,方便开发者快速搭建界面。在 elementUI 中,使用了第三方字体图标来增加组件的美观性和可定制性。 elementUI 使用的第三方字体图标库是阿里巴巴的矢量图标库 iconfont。使用 iconfont 字体图标可以避免图片加载,减小了页面的加载压力,并且可以通过 CSS 的方式来自由调整字体的颜色、大小、旋转等样式,使得图标的使用更加方便灵活。 在 elementUI 中,我们可以通过以下步骤来使用第三方字体图标: 1. 在阿里巴巴矢量图标库(iconfont)中搜索需要的图标,并添加至购物车。 2. 在购物车中将选中的图标添加至项目,并进行下载。 3. 下载后解压得到的文件中,找到包含字体文件和 CSS 文件的目录。 4. 将 CSS 文件中的引用路径修改为项目中正确的路径。 5. 在项目的入口文件(如 main.js)中引入 CSS 文件: ```javascript import 'path/to/iconfont.css'; ``` 6. 在需要使用图标的组件中,使用 `<el-icon>` 标签,并通过 `icon-class` 属性来指定图标的类名: ```vue <template> <div> <el-icon icon-class="iconfont icon-xxx"></el-icon> </div> </template> ``` 其中,`icon-xxx` 为图标的类名,可以在下载的 CSS 文件中找到对应类名。 通过上述步骤,我们可以很方便地在 elementUI 中使用第三方字体图标,并根据需要进行自定义样式的调整。同时,elementUI 也提供了一些默认的内置图标,供开发者直接使用,方便快捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值