4. create-react-app eject后,实现ant-design组件以及组件样式按需加载(!!续)

背景:

  • 需要对项目环境做配置,所以执行了 eject
  • 需要修改antd组件的样式,不仅仅修改antd的主题色,所以把antd的样式文件从node_modules中提取了出来,用于修改 ,但antd推荐的按需加载的插件babel-plugin-import不能修改样式文件路径
  • 参考了vue组件库element-ui实现按需加载的思路,使用babel-plugin-component实现,既可以按需加载组件,还可以指定自定义样式文件路径

还是放弃了上文的做法,因为上文最后的问题没有比较好的方式解决

最终实现:

  1. 使用babel-plugin-import按需加载组件,但不加载css,改为手动引入css
    [
        "import",
        {
            libraryName: "antd",
            libraryDirectory: "lib",
            style: false //不自动加载css
        }
    ]

当使用到某个组件时,比如table,则import "...table/style/css.js"css.js中引入了本组件以及相关的所有组件的css

为了节省这点css的空间,我也是拼了

你可能感兴趣的:(4. create-react-app eject后,实现ant-design组件以及组件样式按需加载(!!续))