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 'importLoaders'. These properties are valid:
object { lessOptions?, prependData?, appendData?, sourceMap?, implementation? }
在react当中,配置好less的相关配置好之后,使用less时,终端报错。(react中配置less在文章末尾讲)。调试了两小时,开始以为自己的less导入方式有问题,因为我之前用的style-component,所以在react中使用less不是很了解。后面测试了下,在react当中导入内联样式,样式是生效的。
在网上找了很多方法,自己的less配置确定也没问题。最后看到一个答案,把你现在用的less-loader卸载了,安装less-loader@5.0.0。安装完成之后,果然less生效了。
我觉得原因是我们下载less-loader的时候,less的版本和webpack的配置的版本是有一定的冲突,导致在编译的时候,发生错误。npm是通过公司的内网下载的,版本是有一定的原因的。
最后讲一下react中配置less方法:
首先就是用过npm run eject(使用yarn的类似),释放出config文件夹,然后找到webpack.config.js文件,需要修改里面的配置,也就是编译less的相关文件配置。找到cssRegex和cssModuleRegex,再加上对应的less就行了。然后在配置css规则那里,加上less就行了。网上很多答案,我就不在赘述了。