antd自定义主题,报错:ValidationError: Invalid options object. Less Loader has been initialized usin...

本文介绍如何在React项目中使用Ant Design组件库,实现组件的按需加载和自定义主题颜色。通过安装特定依赖,配置加载规则,以及调整less变量,可以有效优化项目构建速度和文件大小,同时保持界面风格的一致性和个性化。
摘要由CSDN通过智能技术生成
  • 实现组件的按需打包

下载依赖模块

npm install react-app-rewired customize-cra babel-plugin-import --save-dev

定义加载配置的 js 模块: config-overrides.js

const {override, fixBabelImports} = require('customize-cra');
module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: 'css',
    })
);

修改配置: package.json

"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  }

直接在应用中使用 antd 组件

  • 自定义 antd 主题

下载工具包

npm install less less-loader

修改 config-overrides.js

const {override, fixBabelImports, addLessLoader} = require('customize-cra');

module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        // style: 'css',
        style: true
    }),
    addLessLoader({
        javascriptEnabled: true,
        modifyVars: {
            '@primary-color': '#2daebf'
        }
    })
);

结果报错,报错内容如下:

image.png
通过查相关文档发现是less-loader更新后对于配置方式做了改变 https://www.npmjs.com/package/less-loader#lessoptions
修改如下:

const {override, fixBabelImports, addLessLoader} = require('customize-cra');

module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        // style: 'css',
        style: true
    }),
    addLessLoader({
        lessOptions: {
            javascriptEnabled: true,
            modifyVars: {
                '@primary-color': '#2daebf'
            }
        }
    })
);

问题得以解决

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值