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中音频wavesurfer.js的使用方法
Feb 20 Vue.js
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
详解Vue的异步更新实现原理
Dec 22 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue使用element-ui按需引入
May 20 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结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
html5 canvas绘制网络字体的常用方法
2019/08/26 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
女儿十岁生日答谢词
2014/01/27 职场文书
运动会入场词200字
2014/02/15 职场文书
2014财务年度工作总结
2014/11/11 职场文书
关于倡议书的范文
2015/04/29 职场文书
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android