美文网首页
ant-design按需加载

ant-design按需加载

作者: 张培_ | 来源:发表于2017-12-03 13:29 被阅读223次

名词解释

  • 通常我们在conatiner中引入一个ant-design的component都会使用import将组件引入,引入方式有以下两种:

    • import {DatePicker} from 'antd'
    • import DatePicker from 'antd/lib/date-picker'
  • 两种引入方式的区别:

    • 使用第一种方式会将antd整个依赖模块全部加载进来
    • 使用第二种方式会将antd中需要的组件加载进来
    • 第二种方式效率高但是会导致如果你的container中引入了许多Component那么就要写很很多行
      import Form from 'antd/lib/form'
      import Select from 'antd/lib/select'
      import Input from 'antd/lib/input'
      import Checkbox from 'antd/lib/checkbox'
      import Radio from 'antd/lib/radio'
      import DatePicker from 'antd/lib/date-picker'
      
      //第一种
      import {Form, Select, Checkbox, Radio, DatePiceker} from 'antd/lib/form'
    
    
  • 因此为了中和两个方式的优缺点antd制定了插件babel-plugin-import

使用babel-plugin-import插件

  • 前提:你的项目必须使用了babel,在项目中包含一个.babelrc的配置文件
  • 用法:
    • 安装npm install babel-plugin-import --save-dev
    • 在babelrc中配置:
      {
        "plugins": [["import", { "libraryName": "antd" }]]
      }
      //作用
      import { Button } from 'antd';
      //变成
      var _button = require('antd/lib/button');
      
      
      
      
      //还可以同时引入ant-design less样式
      {
        "plugins": [["import", { "libraryName": "antd",style: true }]]
      }
      //使用之前
      import Button from 'antd/lib/button';
      import 'antd/lib/date-picker/style/css';
      //使用之后
      import {Button} from 'antd';
      //相当于
      var _button = require('antd/lib/button');
      require('antd/lib/button/style');   
      
      

相关文章

网友评论

      本文标题:ant-design按需加载

      本文链接:https://www.haomeiwen.com/subject/uhpabxtx.html