./node_modules/_antd@4.6.2@antd/es/style/index.less (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-7-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--6-oneOf-7-3!./node_modules/_less-loader@7.0.1@less-loader/dist/cjs.js??ref--6-oneOf-7-4!./node_modules/_antd@4.6.2@antd/es/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 'modifyVars'. These properties are valid:
object { lessOptions?, additionalData?, sourceMap?, webpackImporter? }
原来的config-overrides.js的文件如下:
const {override, fixBabelImports, addLessLoader} = require('customize-cra'); module.exports = override( fixBabelImports('import', { libraryName: 'antd', libraryDirectory: 'es', style: true, }), addLessLoader({ javascriptEnabled: true, modifyVars: {'@primary-color': '#1DA57A'}, }), );
原因分析:
ValidationError:无效的选项对象。
Less Loader已使用与API模式不匹配的选项对象进行了初始化。
选项具有未知属性’modifyVars’。
这些属性有效:
对象{lessOptions?,additionalData?,sourceMap?,webpackImporter?
其实是less-loader的版本的原因,现在用的是"less-loader": “^7.0.1”, 之前用的好像是5.6版本的。在less-loader版本中配置的参数具体可查https://www.npmjs.com/package/less-loader#lessoptions。
所以只需要在js文件中做出如下改动即可。
const {override, fixBabelImports, addLessLoader} = require('customize-cra')
module.exports = override(fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: true,
}), addLessLoader({lessOptions: {javascriptEnabled: true, modifyVars: {'@primary-color': '#1DA57A'},}}))