less-loader 升级 6.X 后在 webpack 配置 javascriptEnabled 报错解决

10,372 阅读1分钟

最近在捣腾 Ant Design 4 周边,就不得不装 less 了。

npm i -S less less-loader

安装完 less-loader 会需要配置这个东西

{
  loader: "less-loader",
  options: {
    javascriptEnabled: true
  }
}

在 less-loader 6.0 之前 webpack 这样配置就可以了,但是升级到了 6.0 就会报错

Failed to compile.

./node_modules/antd/es/alert/style/index.less (./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??ref--6-oneOf-6-2!./node_modules/antd/es/alert/style/index.less)
ValidationError: Invalid options object. Less Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'javascriptEnabled'. These properties are valid:
   object { lessOptions?, prependData?, appendData?, sourceMap?, implementation? }

6.0 后 需要修改为

{
  loader: "less-loader",
  options: {
    lessOptions: {
      javascriptEnabled: true
    }
  }
}

重启后,又可以正常干活了。