通过create-react-app脚手架生成一个项目 然后运行npm run eject 把webpack的一些配置从react-scripts模块弹射出来, 方便自己手工增减,暴露出来的配置文件在app/config下面。 1、antd样式按需加载 用到babel-plugin-import bebel插件 直接在package.json里面添加配置就可以按需加载了: "babel": { "presets": [ "react-app" ], "plugins": [ [ "import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" } ] ] } 现在使用antd组件就不用引用样式了 (官网上是推荐使用react-app-rewired(customize-cra)模块, 自己建一个config-overrides.js对包里的webpack配置进行覆盖,感觉多了一个配置不怎么好。) 2、antd设置按需加载样式后和css模块化的冲突问题 其实webpack.config.js里默认已经写好了配置,即匹配cssModuleRegex的loader设置, 只需要将我们需要模块化的样式文件后缀进行修改 文件后缀修改成xxx.module.css即可。 最终项目里引用样式: 入口文件引用全局公共自定义样式=>import './css/common.css'; // common.css文件 .ml20{margin-left: 20px} // jsx文件里使用 <span className=“ml20”>1</span> 页面或者组件中引用模块化私有样式=>import style from './xxx.module.css' // xxx.module.css文件 .red{color: red;} // jsx里使用 <span className=“ml20”>1</span> <span className={style.red}>2</span>