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

Webpack 5引入Bootstrap Icons报错缺少对应文件处理loader问题求助

问题根因

你的CSS处理规则中配置了exclude: /node_modules/,会直接过滤掉所有位于node_modules目录下的CSS文件,而你引入的bootstrap-icons.css存放在node_modules下,没有被css-loader处理,Webpack无法识别CSS中的@font-face语法,因此抛出Unexpected character '@'错误。

解决方案

修改webpack配置中CSS处理规则的排除逻辑,仅排除bootstrap-icons之外的node_modules文件:

{
  test: /\.(sa|sc|c)ss$/,
  // 原exclude: /node_modules/ 替换为下面的规则
  exclude: /node_modules(?!\/bootstrap-icons)/,
  use: [
    // 注意:style-loader和MiniCssExtractPlugin.loader不要同时启用,按需二选一
    process.env.NODE_ENV === 'production' ? MiniCssExtractPlugin.loader : "style-loader",
    "css-loader",
    "postcss-loader",
    "sass-loader"
  ]
}

可选优化(适配Webpack 5 特性)

Webpack 5 内置了资源模块处理能力,无需额外安装file-loader,可替换原有字体/图片处理规则,性能更优:

// 替换原有的file-loader规则
{
  test: /\.(png|eot|woff|woff2|ttf|svg|gif)$/i,
  type: 'asset/resource',
  generator: {
    filename: '[hash][ext]'
  }
}

修改配置后重新运行打包命令即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:45:03