vue使用element-ui按需引入


Posted in Vue.js onMay 20, 2022

众所周知,使用element-ui,为了达到减小项目体积的目的 ,我们在实际项目中更多的是采用按需引入的方法, 下面就来讲讲那些我踩过的坑。

步骤:

第一步:安装 element-ui 时把 element 也安装一下,

执行命令 npm i element-ui -Snpm i element -S

第二步:安装 babel-plugin-component ,

执行命令 npm install babel-plugin-component -D

第三步 :踩坑一: element-ui文档中是修改 .babelrc 文件中的配置,实际上我们的文档中根本没有这个文件夹,所以我们需要修改的是 bable.config.js 文件中的配置。

踩坑二: element-ui文档中提示让将配置改为这样,于是就把 bable.config.js 文件配置成这样

vue使用element-ui按需引入

但是我们启动会报错 ‘Error: Cannot find module 'babel-preset-es2015'’

这是因为缺少依赖 babel-preset-es2015 , 现在我们执行命令npm i babel-preset-es2015 --save 下载依赖,

然后启动之后还是会报错 ,于是我各种查资料文档得知:报错关于es2015,,这个是为了兼容ie(9-11),需要引入es2015,

所以需要把 babel-polyfill 和 babel-preset-es2015 两个npm 引入到package.json里(两个都要下载才可以),然后启动项目就可以了(但是这个方法容易因为版本不匹配报错,所以更推荐使用下面的方法)。

踩坑三: 可以将 es2015 换成这个 @babel/preset-env ,但是同时也需要下载依赖,执行命令npm i @babel/preset-env -D

踩坑四: 但是此时也会报错:‘# 源文本中存在无法识别的标记。。。’

那是因为 npm 无法识别 @ 符号,解决方法:只需要使用引号将要安装的依赖包名包起来就解决了。

所以最后执行的命令为: npm i '@babel/preset-env' -D

然后 bable.config.js文件的配置是这样:

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

配置的坑就完了,接下来是引入:这个引入文档上写得还是不错,

但是有一点需要注意, 踩坑五:

组件中我使用了布局容器:

<el-container>
        <el-header>Header</el-header>
        <el-main>Main</el-main>
    </el-container>

我认为这个都是Container 布局容器,在 main.js 中这样引入即可:

//element-ui按需引入
    import {
      Container
    } from 'element-ui'
    Vue.use(Container);

结果总是报错:‘Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option. ’ 无论我怎么检查都是错的,绞尽脑汁啊,终于我发现了,为什么没有报 el-container 的错,所以我成功了

每一个不同的标签都是一个不同组件,使用都需要分别引入,正确的是这样:

//element-ui按需引入
    import {
      Container,Header,Main
    } from 'element-ui'
    Vue.use(Container);
    Vue.use(Header);
    Vue.use(Main);

你有踩过哪些坑? 欢迎探讨交流

总结

到此这篇关于vue使用element-ui按需引入时踩坑的文章就介绍到这了!


Tags in this post...

Vue.js 相关文章推荐
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
Vue如何实现变量表达式选择器
Feb 18 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
vue/cli 配置动态代理无需重启服务的方法
May 20 #Vue.js
Vue ECharts实现机舱座位选择展示功能
May 15 #Vue.js
Vue组件化(ref,props, mixin,.插件)详解
vue postcss-px2rem 自适应布局
May 15 #Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
vue使用watch监听属性变化
Apr 30 #Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
You might like
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
JQuery元素快速查找与操作
2018/04/22 jQuery
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
跟老齐学Python之关于类的初步认识
2014/10/11 Python
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python numpy数组复制使用实例解析
2020/01/10 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
关于迟到的检讨书
2014/01/26 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
复活读书笔记
2015/06/29 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
SQL SERVER触发器详解
2022/02/24 SQL Server