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

执行npm run build时遇TypeError: this.getOptions is not a function错误求助

解决css-loader报错TypeError: this.getOptions is not a function

错误原因

这个报错是css-loader版本与当前Webpack版本不兼容导致的:

  • Webpack 4仅支持css-loader 4.x及以下版本,更高版本的css-loader使用了Webpack 5才有的API(this.getOptions)
  • Webpack 5需要搭配css-loader 5.x及以上版本

解决方案

1. 确认Webpack版本

执行命令查看当前项目的Webpack版本:

npm list webpack

2. 安装匹配的loader版本

根据Webpack版本选择对应的css-loader和sass-loader版本:

  • 如果是Webpack 4:
npm install css-loader@4.3.0 sass-loader@10.1.1 --save-dev
  • 如果是Webpack 5:
npm install css-loader@6.8.1 sass-loader@13.3.2 --save-dev

3. 修正Webpack配置中的SCSS规则

生产环境下需要用MiniCssExtractPlugin.loader提取CSS到单独文件,且loader顺序必须正确(从右到左执行),修改后的规则如下:

{
  test: /\.s?(a|c)ss$/,
  use: [
    MiniCssExtractPlugin.loader, // 提取CSS为独立文件
    "css-loader",                // 处理CSS中的import、url等
    "sass-loader"                // 编译SCSS为CSS
  ],
}

4. 优化CleanWebpackPlugin配置(可选)

新版clean-webpack-plugin无需手动指定清理路径,默认会清理Webpack配置中output.path对应的目录,简化配置:

new CleanWebpackPlugin(), // 去掉原有的路径参数

内容的提问来源于stack exchange,提问作者Sai nath Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:52:20