不eject情况下配置antd按需加载
1.安装 react-app-rewired
yarn add react-app-rewired
2. 项目根目录下新建 config-overrides.js 文件
/* config-overrides.js */ module.exports = function override(config, env) {
//do stuff with the webpack config...
return config;
}
+-- your-project
| +-- config-overrides.js
| +-- node_modules
| +-- package.json
| +-- public
| +-- README.md
| +-- src
3. 修改package.json文件中的start、build、test 命令
/* package.json */ "scripts": {
- "start": "react-scripts start",
+ "start": "react-app-rewired start",
- "build": "react-scripts build",
+ "build": "react-app-rewired build",
- "test": "react-scripts test --env=jsdom",
+ "test": "react-app-rewired test --env=jsdom",
"eject": "react-scripts eject"
}
4. 安装以下组件
yarn add less less-loader customize-cra
5. 扩展配置选项
修改config-overrides.js文件
const {
override,
fixBabelImports,
addLessLoader
} = require("customize-cra"); module.exports = override(
fixBabelImports("import", {
libraryName: "antd", libraryDirectory: "lib", style: true // change importing css to less
}),
addLessLoader({
javascriptEnabled: true,
modifyVars: {
"@font-size-base": "12px",
"@text-color": 'rgba(0, 0, 0, .85)'
}
})
)
6. 启动开发服务
yarn start