配置方法
在项目中yarn eject暴露出webpack文件进行改造
- 安装 less-loader less babel-plugin-import
1
yarn add less-loader less babel-plugin-import --dev
- 在webpack.config.js文件中增加配置,复制sass的配置修改即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28//配置less的变量
const lessRegex = /\.less$/;
const lessModuleRegex = /\.module\.less$/;
{
test: lessRegex,
exclude: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'less-loader'
),
sideEffects: true,
},
{
test: lessModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: true,
getLocalIdent: getCSSModuleLocalIdent,
},
'less-loader'
),
}, - 修改package.json文件
1
2
3
4
5
6
7
8
9
10
11"babel": {
"presets": [
"react-app"
],
// 增加 plugins 数组
"plugins": [
[
"import",{"libraryName":"antd","style":"css"}
]
]
},
依赖版本
1 | "babel-plugin-import": "^1.13.0", |
最终效果

错误处理
- 执行yarn eject之后报错 Cannot find module ‘@babel/plugin-transform-react-jsx’
删除 node_modules 文件夹 重新 yarn install
- 配置less-load之后报错 bezierEasingMixin
1 | // https://github.com/ant-design/ant-motion/issues/44 |
在webpack.config.js文件中有一个getStyleLoaders方法.修改后的方法如下
1 | const getStyleLoaders = (cssOptions, preProcessor) => { |
- 添加less-loader后还会报缺少less模块. yarn安装一下