element-ui 按需引入说明

1.新建vue项目

npm i -g @vue/clivue create my-appcd my-app

2.安装element-ui

yarn add element-uiyarn add babel-plugin-component -D

3.修改 babel.config.js

如果没有这个文件,创建一个即可
module.exports = {  presets: ["@vue/cli-plugin-babel/preset"],  plugins: [    [      "component",      {        libraryName: "element-ui",        styleLibraryName: "theme-chalk",      },    ],  ],};

4.修改main.js

import Vue from 'vue'import ElementUI from 'element-ui'// 样式文件还是要全部引入,目前没有找到好的方法import 'element-ui/lib/theme-chalk/index.css'import lang from 'element-ui/lib/locale/lang/zh-CN'import locale from 'element-ui/lib/locale'import App from './App.vue'import router from './router'import store from './store'Vue.config.productionTip = false// element-ui configObject.entries(ElementUI).forEach(([key, component]) => {  if (/^[A-Z]+/.test(key)) {    switch (key) {      case 'Loading':        Vue.use(component.directive)        Vue.prototype.$loading = component.service        break      case 'Notification':        Vue.prototype.$notify = component        break      case 'Message':        Vue.prototype.$message = component        break      case 'MessageBox':        Vue.prototype.$msgbox = component        Vue.prototype.$alert = component.alert        Vue.prototype.$confirm = component.confirm        Vue.prototype.$prompt = component.prompt        break      default:        Vue.use(component)    }  }})Vue.prototype.$ELEMENT = { size: 'small', zIndex: 3000 }locale.use(lang)new Vue({  router,  store,  render: h => h(App)}).$mount('#app')