暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案

	由于React默认不支持Less,故需要通过暴露webpack文件,修改配置文件来实现React支持Less。操作步骤如下:

1.安装less,less-loader

yarn add less less-loader

2.暴露webpack文件
终端执行命令如下

yarn eject

提示操作选择Y,注:eject操作不可逆
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第1张图片

执行并安装完插件后package.json如下图,确保已经安装完less,less-loader
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第2张图片
3.修改webpack.config.js
(1)找到暴露后的config文件夹中的webpack.config.js
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第3张图片
(2)添加less校验,将下面代码添加到下图中的位置

{
              test: /\.less$/,
              use: [{
                loader: 'style-loader',
              }, {
                loader: 'css-loader', // translates CSS into CommonJS
              }, {
                loader: 'less-loader', // compiles Less to CSS
                options: {
                  modifyVars: {
                    'primary-color': '#ff0000',
                  },
                  javascriptEnabled: true,
                },
              }]
            },

如下图位置
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第4张图片
4.重新启动项目使less文件生效
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第5张图片
如上图,文字颜色已修改

二、在antd按需加载使用时,引用babel-plugin-import插件时项目报错,解决方案如下:
(1)引入将less安装版本降至3.0以下版本,2.7.3

yarn add less@2.7.3

(2)修改webpack.config.js文件中babel-loader配置
修改内容如下:
暴露webpack文件,实现React16.13.0支持Less及antd按需加载报错解决方案_第6张图片
添加代码:

["import", { "libraryName": "antd", "libraryDirectory": 'es', "style": true }]

(3)重启项目

你可能感兴趣的:(React)