当前位置: 首页 > news >正文

vue按需引入第三方插件_elementui组件按需引入踩过的坑

import 

代码虽然只引入了一个按钮组件,其实build是把整个模块都打包了。

dadff9ecf205a0f29a7cd1ac7f6989c2.png

根据官网介绍:

按需引入

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

首先,安装 babel-plugin-component:

npm install -D babel-plugin-component

配置.babelrc文件

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

其实还要安装一个插件 babel-preset-es2015

npm i -D babel-preset-es2015

vue-cli-service build

52295687e67e8ccdc8b784f2d9496f6a.png

报错:Plugin/Preset files are not allowed to export objects, only functions,说明babel版本太高了,不兼容。

两个方案可以解决:

1、降级到 babel 6.0 版本

2、安装新插件

npm i -D babel-preset-env

配置.babelrc文件

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

vue-cli-service build 如此就大功告成了

4e21cb79842370144b8fb0159835b180.png

最后也许你不是在main.js里边引入组件注册,就有可能报这错。

element/index.js

import { Button, Input } from 'element-ui'

const element = {
  install: function (Vue) {
    Vue.use(Button)
    Vue.use(Input)
  }
}

export default element

main.js

import element from './components/element/index'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(element)

vue-cli-service build

TypeError:Cannot read property 'bindings' of null at Scope.moveBindingTo

7663493f71660cdf358316b966212364.png

原因:在webpack 4.2以上使用,babel-preset-env配置文件【env配置有问题】

// .babelrc配置

{
  "presets": ["@babel/preset-env"],
  "plugins": [[
    "component",
    {
      "libraryName": "element-ui",
      "styleLibraryName": "theme-chalk"
    }
  ]]
}

相关文章:

  • 3842开关电源完整原理图_详细分析开关电源输入端串联的电阻(作用/阻值/功率)...
  • python生成表格文件_【记录】Python中生成(写入数据到)Excel文件中
  • springboot jwt token前后端分离_4小时开发一个SpringBoot+vue前后端分离博客项目附带源码
  • idea serialversionuid怎么生成_这样设置 IDEA,让你爽到飞起!
  • 论文英文参考文献[10]的时候后面多空格_论文干货|论文新手别急,完整的论文写作没那么难...
  • python os open_[原创] python os.open()方法
  • idea构建springboot项目右边没有maven_你们要的干货来了——实战 Spring Boot
  • 使用python下载文件_使用Python下载文件(大文件,重定向文件)
  • 为什么python现在这么火_Python为什么这么火,您怎么看的?
  • python提示line3_python中使用tab键进行提示(python3有效)
  • python字典程序题_Python练习:字典
  • python转换函数使用_【已解决】Python中,将字符串转换为函数,并且实现带参数的函数调用...
  • phpthink验证旧密码_【法制警示】宁夏一手机店老板将他人旧手机回收,竟盗取其支付宝中5000余元......
  • python dll_python调用C dll api
  • pythoncsv数据类型_pandas读取CSV文件时查看修改各列的数据类型格式
  • 《剑指offer》分解让复杂问题更简单
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android系统模拟器绘制实现概述
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • C学习-枚举(九)
  • flask接收请求并推入栈
  • js操作时间(持续更新)
  • Python_网络编程
  • spark本地环境的搭建到运行第一个spark程序
  • 对象管理器(defineProperty)学习笔记
  • 基于webpack 的 vue 多页架构
  • 记录一下第一次使用npm
  • 你真的知道 == 和 equals 的区别吗?
  • 扑朔迷离的属性和特性【彻底弄清】
  • 算法之不定期更新(一)(2018-04-12)
  • 学习ES6 变量的解构赋值
  • 硬币翻转问题,区间操作
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • #Linux(Source Insight安装及工程建立)
  • #vue3 实现前端下载excel文件模板功能
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $$$$GB2312-80区位编码表$$$$
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2)Java 简介
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (7)STL算法之交换赋值
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (转)linux下的时间函数使用
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • @ComponentScan比较
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149