前言

在开发的时候,虽然我们可以自己写css或者js甚至一些动画特效,但是也有很多开源的组件库帮我们写好了。我们只需要下载并引入即可。

vue和element-ui在开发中是比较般配的,也是我们开发中用的很多的,下面就介绍下如何在eue项目中引入element-ui组件库

注意:本文介绍的是vue2.0引用Element-UI,如果是vue3.0就应该使用Element-Plus,也叫Element+,如果vue2.0安装Element-Plus是会有版本问题的。

Element-ui(饿了么ui)

element-ui(饿了么ui)是一个非常好用且美观的组件库(插件库),主要用于网站快速成型,由国产团队饿了么团队开发的,所有又称饿了么ui。

不管是任何的ui组件库,都不需要死记硬背,需要使用的时候查阅官方文档即可,官方让怎么写,我们就怎么写即可,主要的工作就是复制粘贴,任何的组件库写法都是一样的大同小异的。

官网:elementui官网文档

这里会提示不同的vue不同的版本对应的element-ui不同的官方,当然模式跳转的还是2.0版本,由此可以断定目前使用vue2.0和element-ui2.0的还是较多的

这里我使用的是vue2.0所以使用element-ui2.0即可


点击组件即可跳到组件使用说明主页

安装element-ui

根据官网的说明,首先需要安装element-ui,当然也可以在线使用link引入,推荐还是使用脚手架安装使用

打开终端,输入:

npm i element-ui

引入element-ui

可以看到官网提供的引入方式有两种,分别为完整引入和按需引入,下面一一介绍

完整引入element-u

在main.js里面引入element-ui

// 引入Vue
import Vue from 'vue'
// 引入App
import App from './App.vue'
// 引入elemetn-ui组件库
import ElementUI from 'element-ui';
// 引入element-ui全部css
import 'element-ui/lib/theme-chalk/index.css';
// 关闭Vue的生产提示
Vue.config.productionTip=false
// 使用element
Vue.use(ElementUI)
// 创建vm
const vm=new Vue({el:'#app',render:h=>h(App),
})

使用element-ui的元素

引入完成后,就可以随便使用它的组件样式了,想要使用element-ui的元素组件非常简单,复制粘贴就完事了

这里我为了对比使用了原生的按钮和element-ui提供的按钮

找到想用的组件,复制即可


复制到代码里面

只能说,没有对比就没有伤害

它其实就是一个个封装好的组件,可以通过开发者工具看到

如果说这按钮我们也能写,但是如果使用比较复杂的组件让我们自己写那就真的很费劲了,选择使用一个复杂的组件:日历

再复杂也不怕,直接复制即可

  <span class="demonstration">默认</span><el-date-pickerv-model="value1"type="date"placeholder="选择日期"></el-date-picker>

直接拿来就用,这不香吗?

每一个组件都有对应的参数,需要往下滑动,如下是button的属性说明:

但是这种全部引用也是有问题的,我们现在只用到了3个组件,但是这种全部引用的方式相当于把element-ui全部的组件都帮我们引用了,有点浪费资源,如下图在network中可以看到

针对这种情况,就有了第二种引入方式:按需引入

按需引入element-ui

按需引入就是一不同于全部引入,不会一上来引入全局的组件和样式,而是看使用了哪些组件,根据使用的组件进行注册,并且只引入这些组件相关的样式,下面开始操作

首先就是先把完整引入的代码进行注释,然后查看官网

点击这个蓝色的地址,会跳向github,值得注意的是这个按需引入的作者是ant design团队进行开发的(ant design也推出了可以给vue使用的ui组件库)


接下来回到文档,安装文档说明进行操作

安装 babel-plugin-component

打开终端,输入:

npm install babel-plugin-component -D

修改.babelrc(babel.config.js)

最新的脚手架已经不叫了.babelrc,而是babel.config.js

引入需要的组件

解决报错

这时候启动,发现报错了,这个错误不是我们的锅,是由于脚手架和组件库不统一造成的

提示什么东西not found就使用npm i xxx安装即可


这时候又报错了

这个错误是因为脚手架版本的问题,更换即可babel预设环境即可,这个错误比较恶心

如果说缺什么安装什么即可

module.exports = {presets: ['@vue/cli-plugin-babel/preset',["@babel/preset-env", { "modules": false }],],plugins:[["component",{"libraryName": "element-ui","styleLibraryName": "theme-chalk"}]]
}

改过之后就解决了


再次访问页面发现样式还在,并且体积变小了

总结

其他的组件库使用也是和上述步骤大同小异的。

Vue引入并使用Element-UI组件库的两种方式相关推荐

  1. Element UI 组件库分析和二次开发(一)

    我的本地开发环境:M1 芯片Mac,node v12.22.10. 一.Element UI 组件库二次开发的大致流程 1. 从 Element 官方 clone 一份 dev 源码到本地 2. 安装 ...

  2. 【Vue.js】Vue.js中常用的UI组件库和Vue Router

    1.Vue生态中常用的UI组件库 1. vant 介绍 轻量级.可靠的移动端 Vue 组件库 有赞前端团队出品 GitHub地址:https://github.com/youzan/vant 特性 拥 ...

  3. Vue 3的高颜值UI组件库

    Vue 3.0 已经发布两年多的时间,今年 2 月 Vue 3.0 也正式成为新的默认版本.今天就来分享 7 个适用于 Vue 3 的高颜值 UI 组件库! Element Plus Element ...

  4. 初探 amaze-vue( 基于vue.js封装的Amaze UI 组件库)

    Amaze UI 是以移动优先(Mobile first)为理念,面向 HTML5 开发的国产优秀组件库.因官方未提供vue.js版本,而且民间一直对vue.js版本的 Amaze UI 组件库呼声很 ...

  5. ajax加载vue数据,详解使用Vue.Js结合Jquery Ajax加载数据的两种方式

    整理文档,搜刮出一个使用vue.js结合jquery ajax加载数据的两种方式的代码,稍微整理精简一下做下分享. 废话不多说,直接上代码 html代码 demo {{message }} 测试jqu ...

  6. mysql不停止重启服务器_不停止MySQL服务增加从库的两种方式

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  7. mysql增加从库_不停止MySQL服务增加从库的两种方式 (装载)

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  8. 动态连接库的两种方式

    动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样.这需 ...

  9. mysql 停从库_不停止 MySQL 服务增加从库的两种方式

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

最新文章

  1. 亚信安全中标民生银行防病毒项目 为“互联网+金融”革新防护能力
  2. kettle kafka mysql_kettle使用kafka组件消费数据,保存到资源库无法打开问题
  3. java 一年 周数_在java,如何找到一年的总周数?_java_酷徒编程知识库
  4. atCoder Ants on a Circle(又是蚂蚁问题。。。)
  5. mysql5.7.14多实例安装
  6. 前端学习(650):标识符 关键字 保留字
  7. Exchange+2010实验手册
  8. gateway 车辆网关
  9. 关于浮点数的剪不断理还乱
  10. 闭合导线坐标计算表_RTK技术导线测量和全站仪导线测量有什么区别?
  11. python爬虫什么意思-Python为什么叫爬虫?Python与爬虫有什么关系?
  12. c语言程序设计基础考点,c语言程序设计知识点
  13. linux odbc 配置文件,linux操作系统配置ODBC数据源
  14. 微信养鸡领鸡蛋小程序源码
  15. 【LeetCode】1056. Confusing Number 解题报告(C++)
  16. Java编程到底是用idea好还是eclipse好?
  17. ubuntu20.04 磁盘管理
  18. 手把手教你入门Hadoop(附代码资源)
  19. js绘制菱形(空心和实心)
  20. 嵌入式工程师不能不参加的技术盛会

热门文章

  1. 响铃:AWE2018只是“草船”,三星已成大屏电视“东风”
  2. 对校招生培养工作的建议_关于招生工作的一些建议与想法
  3. 极大值,极小值算法以及α-β剪枝技术
  4. 女超人、女强人……究竟是谁在以“女”设限?
  5. 2021 第四届安洵杯 MISC wp
  6. 小心啦!水上有“天眼”,查你没商量!
  7. 聊一聊我在移动平台混合开发的经验
  8. 探索sklearn的数据集——以红酒数据集为例
  9. Python Basic Grammar
  10. JNI:Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1)错误的一点认识