element-ui中按需引入的实现


Posted in Javascript onDecember 25, 2019

element-ui中按需引入

为什么选择 element-ui 而不是 iview

因为在多次使用两个组件的过程中慢慢发现,iview 的一些组件还是需要再完善,而 element-ui 现在更加的成熟

所以, 这里我们一起来学习一下在 vue 中按需引入 element-ui 一些组件中的坑(Dialog组件)

这里我们使用的版本是 element-ui : 2.4.7,vue: 2.2.2

1、按需引入

1. 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的:

npm install babel-plugin-component -D

2. 更改.babelrc文件

"plugins": [
  [
   "component",
   {
    "libraryName": "element-ui",
    "styleLibraryName": "theme-chalk"
   }
  ]
 ]

当然这里如果有其他的配置,只需要在 plugins 的数组中继续添加我们需要的配置代码就行了

2、 我们将按需引入的代码单独分割一下

1. 在 src 文件夹中新建我们的 element 文件夹,并在里面新建一个 index.js 文件

element-ui中按需引入的实现

2. 在index文件中去书写我们需要引入的部分组件

// 导入自己需要的组件
import { Select, Option, OptionGroup, Input, Tree, Dialog, Row, Col } from 'element-ui'
const element = {
 install: function (Vue) {
  Vue.use(Select)
  Vue.use(Option)
  Vue.use(OptionGroup)
  Vue.use(Input)
  Vue.use(Tree)
  Vue.use(Dialog)
  Vue.use(Row)
  Vue.use(Col)
 }
}
export default element

这里要使用 Select 组件,必须同时使用 OptionOptionGroup
这里的 install 方法表示在 main.js 中,如果使用 Vue.use() 方法的话,则该方法默认会调用 install 方法

3. 在 main.js 中使用该文件,就大功告成了

// css样式还是需要全部引入
	import 'element-ui/lib/theme-chalk/index.css'
	import element from './element/index'
	Vue.use(element)

3、为什么要使用 单独分割的方式去按需加载

1. 我们使用常规的方式再来加载一次在 main.js 文件中 直接使用

import 'element-ui/lib/theme-chalk/index.css'
import { Dialog, Select, Option, OptionGroup, Input, Tree, Row, Col } from 'element-ui'
Vue.use(Select)
Vue.use(Option)
Vue.use(OptionGroup)
Vue.use(Input)
Vue.use(Tree)
Vue.use(Dialog)
Vue.use(Row)
Vue.use(Col)

不好意思,现在就报错了

element-ui中按需引入的实现

我们在 element-ui 的源码中可以看到,的确使用的是 Dialog,但是我们在运行的时候还是报错了

element-ui中按需引入的实现

2. 我们将引入的 Dialog 做一些修改,如下图

element-ui中按需引入的实现

可以看到,我们现在改成小写,项目是可以正常运行的,应该是不是 element-ui 的一些小失误吧,这样的写法会将我们的 main.js 文件变得很大很复杂,所以我们建议是 使用第一中方式来按需加载 element-ui 的一些组件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用Juery网页选项卡实现代码
Jun 13 Javascript
js播放wav文件(源码)
Apr 22 Javascript
js控制不同的时间段显示不同的css样式的实例代码
Nov 04 Javascript
JS数组的赋值介绍
Mar 10 Javascript
javascript的tab切换原理与效果实现方法
Jan 10 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
Jul 12 Javascript
jQuery多选框选择数量限制方法
Feb 08 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
原生JS实现顶部导航栏显示按钮+搜索框功能
Dec 25 #Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 #jQuery
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 #Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
Dec 25 #Javascript
如何基于JS截获动态代码
Dec 25 #Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 #Javascript
vue远程加载sfc组件思路详解
Dec 25 #Javascript
You might like
PHP 高级课程笔记 面向对象
2009/06/21 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
python比较两个列表大小的方法
2015/07/11 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
Linux如何为某个操作添加别名
2013/03/01 面试题
EJB面试题
2015/07/28 面试题
四年的大学生生活自我评价
2013/12/09 职场文书
高一历史教学反思
2014/01/13 职场文书
全民健身日活动方案
2014/01/29 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
争先创优活动总结
2014/08/27 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书