React+antd在线上动态更换皮肤主题

开始

因为项目里一个更换皮肤的功能,虽然antd官网给出了更改主题的方法,但那是静态的,没办法在线上更换,然后发现网上在这方面的资料也并不多,这个业务难道不是应该很普遍吗?然后我就花了一些时间去解决了这个问题,并将踩过的坑写出来,再给出解决方案。

antd-theme-webpack-plugin

这个工具是我在网上找到的。下面是这个包的文档,但这个文档实际上写的并不清楚,我在按文档写的过程里遇到了很多的坑。

antd-theme-webpack-plugin文档

我们先在控制台执行:
yarn run antd-theme-webpack-plugin -D

然后去webpack.config.common.js里配置:

//顶部引入
const AntDesignThemePlugin = require('antd-theme-webpack-plugin');

//需要在less-loader里配置options,这个配置是在less的配置规则下
{
   
   
    loader:'less-loader',
    options:{
   
   
    	//这里需要在less的配置规则里打开javascriptEnabled
        javascriptEnabled: true,
    }
}


//在plugins里
plugins:[
	new AntDesignThemePlugin({
   
   
		antDir: path.join(__dirname, './node_modules/antd'),//antd包位置
    	stylesDir: path.join(__dirname, './src/styles/theme'),//指定皮肤文件夹
    	varFile: path.join(__dirname, './src/styles/theme/variables.less'),//自己设置默认的主题色
    	indexFileName: './public/index.html',
    	mainLessFile: path.join(__dirname, './src/styles/theme/index.less')
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值