vue 引入字体图标显示方块

2023-05-16

问题现象:

使用element-ui,字体图表显示“方块”。
项目加载后,看加载文件,并没有.woff.woff2.ttf等字体图标文件。
也没有字体图表转换后的base64,文件。

环境;

webpack4,vue2

有问题的代码:

webpack.base.conf.js:

 module: {
        rules: [
        	          {
            test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
            use: [
              {
                loader: 'url-loader',
                options: {
                  limit: 10000,
                  name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
                  // name: './fonts/[name].[hash:7].[ext]'
                }
              }
            ]
          }
     ]
 }

util.js

exports.assetsPath = function (_path) {
    const assetsSubDirectory = process.env.NODE_ENV === 'development'
        ? config.dev.assetsSubDirectory
        : config.build.assetsSubDirectory
    return path.posix.join(assetsSubDirectory, _path)
}

.woff 文件在之前webpack3时,可以转换为base64图正常显示字体图标,升级webpac4后,就加载不出来了。

修改后的配置:

webpack.base.conf.js:

          {
            test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
            use: [
              {
                loader: 'url-loader',
                options: {
                  limit: 10000,
                  // 修改如下:
                  name: utils.assetsPath('fonts/[name].[hash:7].[ext]'),
                  esModule: false
                }
              }
            ]
          },

webpack4中,需要在url-loader配置esModule:false

esModule: false
作用: url-loader默认使用es6模块化解析,而html-withimg-loader引入图片是使用commonjs模块,所以要关闭url-loader的es6模块化解析,使用commonjs解析,false为关闭,true为默认值。
注意:webpack4中只需要在url-loader配置esModule,而在webpack5需要html-loader也要配置

esModule
类型:Boolean 默认:true
默认情况下,css-loader 生成使用 ES 模块语法的 JS 模块。 在某些情况下,使用 ES 模块是有益的,例如在模块串联或 tree shaking 时。
您可以使用以下方式启用ES模块语法:
webpack.config.js:

module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/i,
        loader: "css-loader",
        options: {
          esModule: false,
        },
      },
    ],
  },
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 引入字体图标显示方块 的相关文章

随机推荐

  • 谈谈我对多线程的理解

    一 提到多线程 xff0c 就不得不理解以下几点 xff1a 1 程序 xff0c 进程 xff0c 线程这三者之间的关系 xff1f 简单来说 xff0c 一程序可以调用多个进程 xff0c 比如一个视频播放器程序 xff0c 里面就存在
  • 消费者行为分析包含了哪些内容?

    消费者市场 指个人或家庭为满足生活需求而购买或租用商品的市场 消费者市场特点 1 购买者众多 xff0c 购买数量零星 xff0c 对日用品的消费需要经常性购买 xff0c 购买频率高且量小 xff0c 支付的金额数也小 2 需求差异性大
  • 一个快速从中文文本抽取关键短语的工具 ckpe 提取关键短语

    一个从 中文自然语言文本 中抽取 关键短语 的工具 需要调用的话 xff0c 请直接进入github查看调用方法 xff1a 源码地址 xff1a ckpe 戳这里 61 gt 在线直接试用 关键短语抽取在线版 应用场景 Applicati
  • kali 下libnl-3-dev : 依赖: libnl-3-200 (= 3.2.24-2) 但是 3.2.27-2 正要被安装

    1 先说问题 sudo apt get install libnl span class hljs number 3 span dev 正在读取软件包列表 span class hljs keyword span 完成 正在分析软件包的依赖
  • android的system域解耦

    google很早在为此做准备 xff0c 要求所有设备能够刷GSI xff08 通用系统镜像 xff09 xff0c 并跑过XTS测试 动态分区解耦方案如上图 一 分区描述 单一系统映像 SSI 包含system和system ext图像的
  • Android Activity onConfigurationChanged()方法 监听状态改变

    AndroidManifest xml文件 xff1a 1 增加权限android permission CHANGE CONFIGURATION 2 设置Activity的android configChanges属性 span clas
  • 生产者消费者

    问题意义 生产者消费者问题是一个很经典的问题 xff0c 通过解决此问题 xff0c 能够学到多线程的的知识 程序设计思路 在本程序中采用信号灯的方式 xff0c 用Flag作为标志位 xff0c 指示生产过程和消费过程是否结束 Flag为
  • android keymaster

    keymaster span class hljs keyword is span a newly instroduced key management hardware abstraction layer hal component It
  • Android密钥证书管理相关介绍

    Java Security Java Security是Java中的安全模块 xff0c 它对应了一系列的规范 xff0c 主要包含三个重要规范 xff1a JavaCryptography Extension xff08 简写为JCE x
  • 安装依赖包 -- Ubuntu

    安装依赖包 xff08 须在虚拟环境中 xff09 xff1a 依赖就是开发以及程序运行需要使用的环境的集合 包括软件 插件等 我们一般会把需要使用的依赖给保存在一个文件中 xff0c 命名为requirements的txt文件 如果在其它
  • 大数据的感想

    1 大数据即全数据 xff08 即n 61 All xff0c 这里n为数据的大小 xff09 xff0c 其旨在收集和分析与某事物相关的 全部 数据 xff0c 而非仅分析 部分 数据 2 N 61 All xff08 所有 xff09
  • 新手如何配置spring

    首先 xff0c 可以通过springframework官方说明文档找到如下网址下载spring包 http repo spring io release org springframework spring 这里以4 2为例子 sprin
  • 对Zookeeper的分布式锁的浅解

    提起到锁 xff0c 我们在单机应用开发涉及到同步问题时往往会采用Sychronized Lock的方式进行解决多线程的代码同步问题 xff0c 此时多线程的运行都是在同一个JVM中 但是在分布式集群的情况下 xff0c 此时多线程的运行在
  • com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件

    我的原因是因为docker中Tracker没有启动起来 xff0c 重新启动后系统正常
  • Java线程、Java多线程详细介绍

    目录 一 进程和线程的区别 1 1 进程 1 2 线程 二 并发和并行 2 1 并行 2 2 并发 2 3 监控线程的执行情况 三 创建方式 3 1 继承Thread类 思考 xff1a 为什么不直接通过对象调用start xff08 xf
  • 抽象类和接口的区别(通俗易理解)

    目录 一 抽象类 1 1 抽象类概念 xff1a 1 2 抽象类特点 1 3 抽象类存在价值 二 接口 2 1 接口的概念 2 2 接口的特点 2 3 接口存在价值 三 接口和抽象类的关系 3 1 接口和抽象类相同点 3 2 接口和抽象类的
  • MyBatis缓存介绍

    提到MyBatis的缓存 xff0c 首先需要了解一下缓存是什么 一 缓存 1 1 什么是缓存 缓存是服务器内存的一块区域 1 2 什么样的数据适合使用缓存 经常访问但又不会时时发生变化的数据 1 3 缓存的设计目的 提高查询速度 xff0
  • 数据库的乐观锁和悲观锁

    一 悲观锁 悲观锁是一种思想 xff0c 对数据被其他事务修改持保守态度 xff0c 会通过数据库自身的锁机制来实现 xff0c 从而保证数据操作的排它性 悲观锁总是假设最坏的情况 xff0c 每次请求取数据的时候都认为请求会修改数据 xf
  • deepin实现微信双开

    说明 linux环境下进行微信双开本质是修改微信的启动脚本 xff0c 为每个微信进程指定一个工作目录 所以按照原理来讲 xff0c 你可以参考显得方法实现微信多开 操作方法 1 先备份 sudo cp opt apps com qq we
  • vue 引入字体图标显示方块

    问题现象 xff1a 使用element ui xff0c 字体图表显示 方块 项目加载后 xff0c 看加载文件 xff0c 并没有 woff或 woff2或 ttf等字体图标文件 也没有字体图表转换后的base64 xff0c 文件 环