React按需加载Antd UI

我们通常使用Antd UI方便一点 就直接在index.js中引入antd/dist/antd.min.css了
但你有没有想过 可能我们项目中就用到部分组件 但我们却引入了全部 有点浪费性能啊
这是我的react项目
在这里插入图片描述
应用了几个button按钮
我先把index.js中的import "antd/dist/antd.min.css"注释掉
在这里插入图片描述
可以看到 我们组件的样式就没了 那我们来用第一种按需加载的方式

import 组件代理名 from ‘antd/es/要用的组件包’;
import “antd/es/要用的组件包/style/css”;

例如我们这里要用button按钮 就这样写

import Button from 'antd/es/button';
import "antd/es/button/style/css";

这样我们的样式就又回来了
在这里插入图片描述
重点是 这样我们就只引入了button包下的组件和css

然后我们来试第二种方式

首先我们先执行

npm run eject

暴露出项目的webpack配置文件
然后我们中就会多一个这样的config文件夹
在这里插入图片描述
然后在项目终端引入

npm install babel-plugin-import --save-dev

然后会发现我们的配置文件发生了不小的变化

然后在package.json中找到对象babel
在里面加入代码

 "plugins": [
  [
    "import",
    {
      "libraryName": "antd",
      "style": "css"
    }
  ]
]

在这里插入图片描述

然后 要安装 安装antd 如果你项目之前就安装过了 就不需要了 安装antd 代码如下

npm i antd --save 

还有安装 babel-plugin-import 如果你有安装过就不需要了
安装代码如下

npm i babel-plugin-import --save-dev 

最后 按我的个人习惯就是再引入一下整体的依赖

npm i

然后我们将 antd 相关的引入代码通通去掉
我们某个组件要用antd的组件 直接
import { 组件名 } from ‘antd’;
引入一下这个组件就好了
例如我们要用button按钮

import { Button } from 'antd';

参开代码如下

import './App.css';
import React from "react";
import { Button } from 'antd';

class App extends React.Component{
  constructor(props){
    super(props);
    this.state = {
    }
  }
 
  render(){
    return (
      <div className="App">
        <Button type="primary">Primary Button</Button>
        <Button>Default Button</Button>
        <Button type="dashed">Dashed Button</Button>
        <br />
        <Button type="text">Text Button</Button>
        <Button type="link">Link Button</Button>
      </div>
    )
  }
}

export default App;

效果如下
在这里插入图片描述
如果你没有引入 antd的css任何一个文件 且 样式也出来了 说明 就已经完成按需加载了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值