You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack 5构建时字体文件未打包至dist目录的解决方法

字体文件未被Webpack打包的解决方案

问题重现

字体文件存放在assets/fonts目录,在assets/common/_fonts.scss中通过@font-face引入,已将该文件导入主文件main.scss,但执行Webpack构建后,字体文件未出现在dist目录中。

核心原因

你的Webpack配置中,css-loader的url选项被设置为false,这个配置会阻止css-loader解析样式文件中的url()引用,导致Webpack无法识别字体文件作为项目依赖,因此不会将其打包输出到dist目录。

解决步骤

1. 修改css-loader配置

移除css-loader中的url: false配置(默认值为true,会自动解析url()引用):

{
  loader: "css-loader",
  // 删除下面的url配置段
  // options: {
  //   url: false
  // },
},

2. 确认字体路径正确性

确保_fonts.scss中@font-face的字体路径是相对于当前文件的正确相对路径,示例:

@font-face {
  font-family: 'CustomFont';
  src: url('../fonts/CustomFont.ttf') format('truetype');
  // 其他字体格式配置...
}

3. 验证依赖链路

确认main.scss已被入口文件assets/js/index.js引入(Webpack从入口文件开始解析所有依赖),示例:

// index.js
import '../scss/main.scss';

补充说明

修改配置后重新执行构建,Webpack会通过asset/resource规则将字体文件输出到dist/fonts目录下,同时自动替换样式文件中的字体路径为输出后的正确路径。

内容的提问来源于stack exchange,提问作者yanksi_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 06:10:28