官方文档中介绍了iview的按需引入: 按需引用 # 借助插件 babel-plugin-import能够实现按需加载组件,减小文件体积。首先安装,并在文件 .babelrc 中配置:npm
npm install babel-plugin-import --save-dev
// .babelrc
{
"plugins": [["import", {
"libraryName": "iview",
"libraryDirectory": "src/components"
}]]
}
复制代码
而后这样按需引入组件,就能够减少体积了:bash
import { Button, Table } from 'iview';
Vue.component('Button', Button);
Vue.component('Table', Table);
复制代码
可是在咱们的实际项目中使用的组件较多,若是都放在main.js中会是这个文件看起来不易理解。所以咱们能够新建个js文件来专门存放咱们须要引入的组件以下: 1.新建文件加iview/index.jsbabel
import { Card, Button, Table, Menu, Row, Col, Icon, Input, Select, Option, Form, Modal, MenuItem, MenuGroup, Submenu, Tabs, TabPane, Radio, RadioGroup} from 'iview';
const iview = {
install: function (Vue) {
Vue.component('Card', Card);
Vue.component('Button', Button);
Vue.component('Table', Table);
Vue.component('Menu', Menu);
Vue.component('Submenu', Submenu);
Vue.component('MenuGroup', MenuGroup);
Vue.component('MenuItem', MenuItem);
Vue.component('Row', Row);
Vue.component('Col', Col);
Vue.component('Icon', Icon);
Vue.component('Input', Input);
Vue.component('Select', Select);
Vue.component('Option', Option);
Vue.component('Modal', Modal);
Vue.component('Tabs', Tabs);
Vue.component('TabPane', TabPane);
Vue.component('Radio', Radio);
Vue.component('RadioGroup', RadioGroup)
}
}
export default iview
复制代码
2.在main.js中引入iview
import iview from "../iview"
Vue.use(iview)
复制代码
这样咱们就能够将须要的组件直接放入index.js文件中了ui