一、babel-plugin-import 原理
主要有3步:
- 在
importDeclaration节点处,收集依赖,就是获取import { Button } from 'antd'中的Button - 在
CallExpression等节点处,判断该组件是否使用 - 对于使用的UI组件,通过
addSideEffect/addNamed/addDefault等方式增加额外的css导入语句。
二、babel-plugin-component
babel-plugin-component是fork的babel-plugin-import项目,二者原理、使用方式基本相同。