昨天我们演示了如何为React项目启用AntDesign组件,现在回顾一下,引入方法为:
import {DatePicker} from "antd";
import "antd/dist/antd.css"
虽然我们只用到了DatePicker组件的样式表,但是该方法却全局引入了所有AntDesign组件的样式表。这样做的结果就是将来会打包大量没用的代码。因此我们需要真正地实现按需导入AntDesign组件,只导入与我们用到的组件相对应的样式表,有两种解决方案:
手动引入
- 导入组件:
import DatePicker from "antd/lib/date-picker"; - 导入该组件对应的css文件:
import "antd/lib/date-picker/style/css"
之前全局导入样式表的方式打包之后的index.js文件有16.2M,通过这种方式引入组件之后,打包之后的index.js文件只有8.05M了。
使用babel-plugin-import(推荐)
通过以上手动引入的方式虽然可以解决问题,但是不免有些麻烦,我们可以通过装插件的方式轻松实现组件的按需导入:
- 装包:
npm i babel-plugin-import -D - 配置.babelrc文件:在plugins节点下新增规则
["import",{"libraryName": "antd", "style": "css"}]
然后只需从antd引入模块即可,无需单独引入样式,等同于手动引入的方式。
// babel-plugin-import 会帮助你加载JS和CSS
import {DatePicker} from "antd";
本文介绍了在React项目中如何优化AntDesign组件的加载方式,通过手动引入或使用babel-plugin-import插件,实现只加载实际使用的组件样式,大幅减小打包体积。

356

被折叠的 条评论
为什么被折叠?



