vue3.0全局和按需引入element-plus

2023-11-10

1.先来看一下未添加element-plus的干净项目打包后文件大小在这里插入图片描述
2.全局安装element-plus
npm install element-plus --save
在main.js里写

import { createApp } from 'vue'
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';
import App from './App.vue';

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

打包后文件大小:
在这里插入图片描述
3.按需引入element-plus
借助 babel-plugin-import,我们可以只引入需要的组件,以达到减小项目体积的目的。
npm install babel-plugin-import -D
npm install sass sass-loader

在main.js里引入

import 'element-plus/packages/theme-chalk/src/base.scss'

备注:在这里引入之后,会报错:在sass文件中提示Syntax Error : this.getOptions is not a function
原因:npm sass-loader时版本安装的太高,导致报错。这里先执行npm uninstall sass-loader@12.1.0
再执行Npm install sass-loader@10.1.1版本即可解决。

在babel.config.js里引入

module.exports = {
  plugins: [
    [
      "import",
      {
        libraryName: 'element-plus',
        customStyleName: (name) => {
          name = name.slice(3)
          return `element-plus/packages/theme-chalk/src/${name}.scss`;
        },
      },
    ],
  ],
};

最后,element-plus按需加载完成。使用方法:

import { createApp } from 'vue'
import App from './App.vue'
// 这是全局的安装方法
// import ElementPlus from 'element-plus'
// import 'element-plus/lib/theme-chalk/index.css'
// const app = createApp(App)
// app.use(ElementPlus)
//这里是按需要加载引入代码
import 'element-plus/packages/theme-chalk/src/base.scss'
import { ElButton } from 'element-plus'
const components = [ElButton]

const app = createApp(App)
components.forEach(component => {
  app.component(component.name, component)
})
app.mount('#app')

在这里插入图片描述
看,按需要引入比全局引入打包后的文件从1.01M,缩小到240M.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3.0全局和按需引入element-plus 的相关文章

  • vue3.0中全局注册组件版本1-官方

    前言 在对vue3 0的使用和学习中 发现了很多和以前不一样的方法 这里聊一聊vue3 0中给我们提供的全局的注册组件方法 官方文档 入口 目录 具体方法介绍 1 前提 返回一个提供应用上下文的应用实例 应用实例挂载的整个组件树共享同一个上
  • 关于前端框架vue2升级为vue3的相关说明

    一些框架需要升级 当前 202306 Vue 的最新稳定版本是 v3 3 4 Vue 框架升级为最新的3 0版本 涉及的相关依赖变更有 前提条件 已安装 16 0 或更高版本的Node js 摘 必须的变更 核心库vue 2 gt 3 路由
  • vite创建vue3项目方式

    快速创建方式 终端输入 npm init vite latest 然后输入项目名称 选择要创建的框架版本 然后选择需要的脚本语言 最后 npm i初始化 npm run dev启动项目 项目目录如下 页面展示
  • vue3+ts+setup获取全局变量getCurrentInstance

    前言 vue3的 setup中是获取不到this的 为此官方提供了特殊的方法 让我们可以使用this 达到我们获取全局变量的目的 但是在使用typescript的时候 就会有一些新的问题产生 这里来做一个整理 vue3官方提供的方法 1 引
  • 腾讯云部署(gin框架+vue3.0)前后端分离项目

    腾讯云部署 gin框架 vue3 0 前后端分离项目 项目架构和部署工具 项目工具 部署工具 后端项目准备及部署 购买云端服务器 以下是腾讯云 阿里云请点击我 https blog csdn net it vegetable article
  • vue3表格按需导出excel

    效果图展示 不要英文字段 excel内容展示 隐藏英文字段 首先安装xlsx依赖 npm install xlsx save export default imported as XLSX was not found in xlsx 当出现
  • vue3 使用QrCode生成二维码

    官网地址 QrCode官网 第一步 安装 npm install save qrcode vue 第二步 引入并注册 import QrcodeVue from qrcode vue export default defineCompone
  • vue3.0+echarts立体柱图

    前言 vue3 0实现echarts立体柱图 实现效果 实现步骤 1 安装echarts cnpm i save echarts 2 页面定义容器
  • vue3+vite的项目中实现右键事件的神器

    前言 vue3 vite的项目中实现右键事件的神器 imengyu vue3 context menu 实现效果 使用步骤 1 安装 npm cnpm pnpm yarn 都可以 装上下面插件 imengyu vue3 context me
  • vue3+vite中使用path-to-regexp以及相关的报错问题

    前言 path to regexp 该方法的作用是把字符串转为正则表达式 一般我们使用动态匹配路由的时候会用到这个 1 介绍path to regexp 更多点我查看 pathToRegexp pathToRegexp foo bar 打印
  • vue3.0基础知识浅谈

    vue3 0 首先创建vue3 0 项目 相比于vue2的变化 1 模板中可以没有根标签 2 main js中变化 组合API 一 setup 1 作用 2 返回值 3 注意点 4 参数 二 Ref函数 三 reactive函数 四 Ref
  • vue3实现鼠标左键拖拽画矩形框框选功能

    vue3 elementuiPlus 实现鼠标左键拖拽画矩形框 框选列表功能 仿照桌面框选功能 效果如图 vue3鼠标框选 代码
  • vue-cli3.0安装element-ui组件及按需引入element-ui组件

    在VUE CLI 3下的第一个Element ui项目 菜鸟专用 上面这个链接是vue cli3 0安装element ui的详细过程 如果想要按需引用看下面的 1 引入vue add element How do you want to
  • 关于vue-cli 3版本做的改动,没有static文件夹,本地文件应放在哪儿,如何引用

    2 x版本 3 0版本 原来放在static下的文件 现在应该放在public文件夹下 原来的请求数据的写法 现在的写法 总结 vue3 0 对脚手架的结构和静态文件的引用方式都进行了简化
  • Vue3内置组件teleport详解

    teleport的作用 该组件可以将指定内容渲染到特定容器中 而不受 DOM 层级的限制应用场景 当蒙层内容在一个组件中时 蒙层内容是无法遮挡住全部内容的 因此 需要使用teleport将蒙层内容渲染到更全局的组件中 如果不使用telepo
  • Vue3.0开发之整合vue-admin-template模板

    起源 vue admin template模板算是一个比较好的前端开发模板 不过作者好像没有出vue3 0版本的 所以刚好自己在学习vue3 0 就想到开发一个vue3 0的模板 当然大部分代码都是参照vue admin template模
  • Vue3快速上手

    Vue3快速上手 1 Vue3简介 2020年9月18日 Vue js发布3 0版本 代号 One Piece 海贼王 耗时2年多 2600 次提交 30 个RFC 600 次PR 99位贡献者 github上的tags地址 https g
  • vue3中实现音频播放器APlayer

    前言 vue2的时候 分享了一个很好用的插件是vue aplayer 但是他是不支持vue3的 这里分享vue3使用APlayer来实现一个播放器的方法 实现效果 官方 git地址 点我 api地址 点我 实现步骤 1 安装 npm npm
  • vue3.0项目报错:删除node包重新装报错

    前言 vue3 0的项目删除node包以后重新装项目 会报错 vue loader v16 找不到 安装以后下次再删包 再装会报错webpack的问题 解决办法 在新建项目后 打开pack json文件 找到 devDependencies
  • React、Vue2.x、Vue3.0的diff算法

    前言 本文章不讲解 vDom 实现 mount 挂载 以及 render 函数 只讨论三种 diff 算法 VNode 类型不考虑 component functional component Fragment Teleport 只考虑 E

随机推荐

  • 【福利】Google Cloud Next ’23 精彩待发,Cloud Ace 作为联合赞助商提前发福利~

    Cloud Ace 是 Google Cloud 全球战略合作伙伴 在亚太地区 欧洲 南北美洲和非洲拥有二十多个办公室 Cloud Ace 在谷歌专业领域认证及专业知识目前排名全球第一位 并连续多次获得 Google Cloud 各类奖项
  • 【Neo4j与知识图谱】Neo4j的常用语法与一个简单知识图谱构建示例

    文章目录 一 Cypher基本语法 1 创建节点和关系 2 查询节点和关系 3 更新节点和关系 4 删除节点和关系 二 小示例 2 1 准备数据和创建实体和关系 2 2 进行查询修改等操作 一 Cypher基本语法 Neo4j是一种基于图形
  • 江西理工大学 微型计算机原理,江西理工大学-微机原理考试(wenwei)作业.docx

    江西理工大学 微机原理考试 wenwei 作业 第一章1 在计算机内部为什么要采用二进制数而不采用十进制数 2 设机器字长为6位 写出下列各数原码 补码和移码 10101 11111 10000 10101 11111 10000 3 利用
  • keepalived 源码编译安装

    1 官方下载源码包 root zk01 wget https www keepalived org software keepalived 2 0 20 tar gz 2 解压 root zk01 tar zxvf keepalived 2
  • 漫谈硬编码

    一 什么是硬编码 在计算机程序或文本编辑中 硬编码是指将可变变量用一个固定值来代替的方法 例如 以C 为例 char szText 100 code for int i 0 i lt 100 i code 上述语句使用固定值100限定了循环
  • 多维时序

    多维时序 MATLAB实现Attention GRU多变量时间序列预测 注意力机制融合门控循环单元 即TPA GRU 时间注意力机制结合门控循环单元 目录 多维时序 MATLAB实现Attention GRU多变量时间序列预测 注意力机制融
  • 容器安全加固

    Docker容器的安全性 很大程度上依赖于Linux系统自身 评估Docker的安全性时 主要考虑以下几个方面 Linux内核的命名空间机制提供的容器隔离安全 Linux控制组机制对容器资源的控制能力安全 Linux内核的能力机制所带来的操
  • 你知道怎样做好一个老板吗?先来看看不适合做老板的三种人

    穷人和富人最大的差别就是思维方式的不同 就如之前一直听的一个故事 有个穷人吃不饱穿不暖 就去上帝跟前哀求说 这个世界太不公平了 为什么富人天天悠闲自在 而穷人就要天天吃苦受累 上帝微笑着说 那你觉得怎么样才是公平 穷人说到 要是富人和我一样
  • Ubuntu16.04 安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm

    在Ubuntu16 04上安装 显卡驱动 CUDA cuDNN Tensorflow gpu Keras PyCharm 目的是为了深度学习所用 博主参考了众多资料 最终成功将所有软件安装完毕 且能成功运行使用 因而写下该篇安装教程 供借鉴
  • CPU亲和度

    CPU亲和度 CPU Affinity 就是将一个进程或者线程强制绑定在CPU的某一个core上运行 参考 https www cnblogs com zhangxuan p 6427533 html https www cnblogs c
  • Java_Linux基础:8. 编辑器-vim

    目录 1 vi简介 2 命令行模式 3 文本输入模式 4 末行模式 5 vim基础操作 5 1 进入插入模式 5 2 进入命令模式 6 vim分屏操作 6 1 分屏操作 6 2 启动分屏 6 3 关闭分屏 6 4 编辑中分屏 6 5 分屏编
  • os模块关于路径

    os模块关于路径的几个主要方法 os path 模块路径访问函数 os path basename 去掉目录路径 返回文件名 os path dirname 去掉文件名 返回目录路径 os path split 将路径分为 dirname
  • telnet 访问80端口

    目的 虚拟机上ubuntu telnet 远程访问谷歌80端口 网络设置 宿主机XP 虚拟机 ubuntu 网络连接模式 NAT 操作步骤 1 参考http blog csdn net mifan88 article details 735
  • vscode中误删代码文件恢复

    误删了项目某个文件夹 但是Ctrl z又没回来 就很无语 一般在vscode的这个页面会有你删掉的文件 查看你删掉的文件夹路径 然后git checkout就可以了 git checkout a66e87460a2ea04753dd7f39
  • 微服务六种设计模式

    1 聚合设计模式 聚合设计模式常用于报表服务 在微服务系统中报表服务是肯定存在的 2 代理设计模式 在微服务架构中 代理服务 是必然存在的 常用的代理服务是 网关服务 微服务的各个服务是没有状态的 需要通过统一的入口 代理服务 经过权限的校
  • 计算机数制详解及相互转换(二进制、八进制、十进制、十六进制)

    计算机数制详解及相互转换 二进制 八进制 十进制 十六进制 前言 一 计算机中常用的数制 1 二进制 2 八进制 3 十进制 4 十六进制 二 数制转换 1 十进制转二进制 2 二进制转十进制 3 二进制转八进制 4 二进制转十六进制 5
  • C++关于引用的分析

    目录 1 引用的概念 2 引用的特点 1 引用在定义时 必须初始化 2 一个变量可以有多个引用 3 引用一旦引用了一个实体 再不能引用其他实体 3 引用的应用 3 1 做参数 3 2做返回值 3 2 1 函数栈帧及临时变量 3 2 2 引用
  • mysql的事务是什么 mybatis框架中的事务配置 mybatis中的自动提交事务和手动提交事务 深入理解mybatis事务源码 通过对象的地址来理解mysbaits中的会话 对象的首地址

    目录 什么是事务 百度百科的解释 维基百科的解释 逻辑单元 事务的四大特征 操作事务的演示 在当前事务添加数据后查询 事务回滚 rollback 提交事务 commit mybatis中的事务 配置数据库的db properties 配置c
  • xargs -i参数详解

    学习所需 文章转载过来 xargs与find经常结合来进行文件操作 平时删日志的时候只是习惯的去删除 比如 find type f name log xargs rm rf 就将以log结尾的文件删除了 如果我想去移动或者复制就需要使用参数
  • vue3.0全局和按需引入element-plus

    1 先来看一下未添加element plus的干净项目打包后文件大小 2 全局安装element plus npm install element plus save 在main js里写 import createApp from vue