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 $router和$route的区别详解
Dec 02 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
vue实现图片裁剪后上传
Dec 16 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
Vue3 Composition API的使用简介
Mar 29 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
Vue+Element UI实现概要小弹窗的全过程
May 30 Vue.js
简单聊聊Vue中的计算属性和属性侦听
Oct 05 Vue.js
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
vue特效之翻牌动画
Apr 20 Vue.js
Vue操作Storage本地化存储
Apr 29 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
做个自己站内搜索引擎
2006/10/09 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
js实现密码强度检验
2017/01/15 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python之re操作方法(详解)
2017/06/14 Python
Python语言的变量认识及操作方法
2018/02/11 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
python 类之间的参数传递方式
2019/12/20 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
个人求职信范文分享
2013/12/13 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python
关于nginx 实现jira反向代理的问题
2021/09/25 Servers