myfate

原文链接: 点我

自己搭建的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/

分类:

技术点:

相关文章:

  • 2021-12-07
  • 2021-11-27
  • 2022-02-05
  • 2022-01-10
  • 2021-08-10
  • 2021-07-11
  • 2022-02-12
  • 2021-09-02
猜你喜欢
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-11-23
  • 2021-11-27
相关资源
相似解决方案