ElementPlus 全局引入与按需引入

  • 前言
  • 一、完整引入
    • 1、安装组件库
    • 2、在项目中引入
    • 3、设置组件语言
  • 二、按需引入
    • 1、安装组件库
    • 2、Webpack 配置
    • 3、在项目中引入
      • (1)全局引入
      • (2)局部引入
    • 4、按需引入时设置组件语言
  • 总结

前言

  • 之前使用 ElementPlus 做项目的时候,由于不会使用按需引入,一个仅需要几个 ElementPlus 组件的 Vue 项目,全局引入 ElementPlus 组件库,导致项目体积非常大
  • 接下来将介绍在 Vue 中如何引入 ElementPlus

一、完整引入

1、安装组件库

  • 安装 ElementPlus
npm install element-plus --save

2、在项目中引入

  • 在 mian.js 文件中配置如下:
  • 如果使用到 icon 图标,需要安装之后再引入
// 安装 Icon 图标
npm install @element-plus/icons-vue --save
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'// Element Plus
import 'element-plus/dist/index.css'  // 引入 ElementPlus 组件样式
// 图标和组件需要分开引入
import ElementPlus from 'element-plus';   // 引入 ElementPlus 组件
import { Edit } from '@element-plus/icons-vue'  // 按需引入 Icon 图标 const app = createApp(App)// 全局注册 Icon 图标
app.component('Edit', Edit)app.use(ElementPlus)  // 全局挂载 ElementPlus
app.use(router).mount('#app')
  • 使用示例
<template><div class="home"><el-button type="primary">按钮</el-button><!-- icon 图标 --><edit style="width: 36px; height: 36px" /></div>
</template><script>
export default {name: "Home"
};
</script>
<style lang="less" scoped>
.home {width: 100%;height: 100%;text-align: center;background-color: #eee;
}
</style>

3、设置组件语言

  • ElementPlus 组件默认使用英文,如果希望使用其他语言,例如中文,你可以参考下面的方案
  • 首先,引入组件要使用的语言
  • 然后,在全局挂载 ElementPlus 的位置配置 locale 属性
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'// Element Plus
import 'element-plus/dist/index.css'  // 引入 ElementPlus 组件样式
// 图标和组件需要分开引入
import ElementPlus from 'element-plus';   // 引入 ElementPlus 组件
import { Edit } from '@element-plus/icons-vue'  // 按需引入 Icon 图标 // 引入组件要使用的语言(示例是中文)
import zhCn from 'element-plus/es/locale/lang/zh-cn'const app = createApp(App)// 全局注册 Icon 图标
app.component('Edit', Edit)app.use(ElementPlus, { locale: zhCn })  // 全局挂载 ElementPlus
app.use(router).mount('#app')

二、按需引入

1、安装组件库

  • 安装 ElementPlus
npm install element-plus --save
  • 安装导入组件的插件
npm install -D unplugin-vue-components unplugin-auto-import

2、Webpack 配置

  • 在 webpack.config.js 文件中添加如下代码
  • 一般新创建的项目没有自动生成 webpack.config.js 文件,需要在项目根目录下手动创建(和 src 目录平级
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')module.exports = {plugins: [AutoImport({resolvers: [ElementPlusResolver()],}),Components({resolvers: [ElementPlusResolver()],}),],
}

3、在项目中引入

(1)全局引入

  • 在 mian.js 文件中配置如下:
  • 如果使用到 icon 图标,需要安装之后再引入
// 安装 Icon 图标
npm install @element-plus/icons-vue --save
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'// Element Plus
import 'element-plus/dist/index.css'  // 引入组件样式
// 图标和组件需要分开引入
import { ElButton } from 'element-plus';   // 按需引入组件
import { Edit } from '@element-plus/icons-vue'  // 按需引入 Icon 图标 const app = createApp(App)// 全局注册组件
app.component('ElButton', ElButton)
// 全局注册 Icon 图标
app.component('Edit', Edit)app.use(router).mount('#app')
  • 使用示例
<template><div class="home"><el-button type="primary">按钮</el-button><div><edit style="width: 26px; height: 26px" /></div></div>
</template><script>
export default {name: "Home"
};
</script>
<style lang="less" scoped>
.home {width: 500px;height: 200px;line-height: 100px;text-align: center;background-color: #ddd;
}
</style>

(2)局部引入

  • 在 mian.js 文件中配置如下:
  • 如果使用到 icon 图标,需要安装之后再引入
// 安装 Icon 图标
npm install @element-plus/icons-vue --save
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'const app = createApp(App)app.use(router).mount('#app')
  • 使用示例
<template><div class="home"><el-button type="primary">按钮</el-button><div><edit style="width: 26px; height: 26px" /></div></div>
</template><script>
// Element Plus
import "element-plus/dist/index.css"; // 引入组件样式
// 图标和组件需要分开引入
import { ElButton } from "element-plus"; // 按需引入组件
import { Edit } from "@element-plus/icons-vue"; // 按需引入 Icon 图标export default {name: "Home",components: {ElButton,Edit,},
};
</script>
<style lang="less" scoped>
.home {width: 500px;height: 200px;line-height: 100px;text-align: center;background-color: #ddd;
}
</style>

4、按需引入时设置组件语言

  • ElementPlus 组件默认使用英文,如果希望使用其他语言,例如中文,你可以参考下面的方案
  • 首先,在 main.js 文件中按需引入 ElConfigProvider 组件,并注册
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'// Element Plus
import 'element-plus/dist/index.css'  // 引入组件样式
// 图标和组件需要分开引入
import { ElConfigProvider, ElButton } from 'element-plus';   // 按需引入组件
import { Edit } from '@element-plus/icons-vue'  // 按需引入 Icon 图标 const app = createApp(App)// 全局注册组件
// 语言国际化设置
app.component('ElConfigProvider', ElConfigProvider)
app.component('ElButton', ElButton)
// 全局注册 Icon 图标
app.component('Edit', Edit)app.use(router).mount('#app')
  • 然后,在 App.vue 文件中引入需要的语言,并配置到 ElConfigProvider 组件的 locale 属性上
<template><div class="app"><el-config-provider :locale="locale"><router-view /></el-config-provider></div>
</template>
<script>
// 使用中文
import zhCn from "element-plus/es/locale/lang/zh-cn";
export default {data() {return {locale: zhCn,};},
};
</script>
<style lang="less">
html,
body,
.app {width: 100%;height: 100%;margin: 0;padding: 0;
}
</style>
  • 使用前
  • 使用后

总结

ElementPlus 完整引入与按需引入相关推荐

  1. vue.js项目中,关于element-ui完整引入、按需引入的介绍

    element-ui引入方式,简单说来有两种:完整引入.按需引入 首先谈一下npm安装element-ui的方法: cmd到项目目录,然后执行cmd命令:npm i element-ui -S稍等片刻 ...

  2. vue3+element-plus 配套使用日期时间选择器默认英文修改为中文 完整引入和按需引入

    默认情况行如下: 一.按需引入的解决方案: 在你使用 日期选择器的vue文件夹 1.引入: import zhCn from "element-plus/lib/locale/lang/zh ...

  3. Vue项目mint-ui引入方式(完整引入、按需引入)

    一.使用 vue-cli 二.引入 Mint UI 1.完整引入 2.按需引入 三.开始使用 一.使用 vue-cli npm install -g vue-cli vue init webpack ...

  4. vue项目中引入mint-ui的方式(全部引入与按需引入)

    一.全部引入 1.安装mint-ui npm intall mint-ui  --save 2.main.js中引入mint-ui import MintUI from 'mint-ui' impor ...

  5. vue3.0+ts+element-plus多页签应用模板:element-plus按需引入与动态换肤

    目录 系列链接 一.安装element-plus 二.按需引入 1. 为什么要按需引入? 2. 如何按需引入? 3. 验证是否引入成功 三.动态换肤 1. 制作自定义主题 2. 引入自定义主题 3. ...

  6. Vue使用Element-ui按需引入大坑

    vue使用element-ui按需导入大坑 前言 一.element-ui按需导入 二.卸载element-ui 重装 三.正确卸载步骤 总结 前言 element-ui按需导入小编使用了vue ad ...

  7. echarts中x轴文件消失_百度Echarts图表在Vue项目的完整引入以及按需加载

    导语 近日在项目中需要进行图表展示,百度的Echarts图表是非常合适的一个选择.项目是vue-cli搭建的,如何在项目中引入Echarts就是一个问题了.亲自动手实践了下,整理总结,希望对小伙伴提供 ...

  8. @vue3 element-plus 按需引入,默认英文组件修改为中文

    升级到@vue-cli3之后element-ui 也做了相应的升级,这里的版本是:"element-plus": "^1.0.2-beta.44",可能后面的版 ...

  9. element ui需要引入样式吗_彻底学会element-ui按需引入和纯净主题定制

    原标题:彻底学会element-ui按需引入和纯净主题定制 作者:wuwhs 来源:SegmentFault 思否社区 前言 手上有些项目用的element-ui,刚好有空琢磨一下怎么减小打包文件大小 ...

最新文章

  1. C语言中缺少link文件,如何在link文件中给某个C文件的bss分配单独的段?
  2. Android之Socket通信、List加载更多、Spinner下拉列表
  3. 区块链金融应用论坛关于量化的分享
  4. js list删除指定元素_vue.js
  5. qt不规则按钮样式在自适应分辨率时应该注意的图片缩放模式
  6. linux 2.6内核进程调度,Linux2.4与Linux2.6内核调度器的比较研究
  7. MySQL教程(十二)—— 数据的导入与导出
  8. 基于DTW和HMM算法的语音识别系统对比研究-毕业小结
  9. 基于京东家电商品知识图谱的自动问答系统(一) -- Neo4j构建知识图谱
  10. ubuntu批量创建文件夹
  11. RFID工作原理(图)及标签分类(按供电方式)
  12. vue实现图片切换效果
  13. MNIST数据集学习
  14. 通信原理day7:第三章:抽样;均匀量化;非均匀量化;A律;增量(ΔM)调制
  15. ubuntu cannot start pycharm, Required tools are missing: realpath***
  16. WinRAR捆绑木马
  17. smb测速工具_jo等了,AX3Pro无线速度测试(WIFI5+6,内网+NAT) 终
  18. Android VideoView播放网络视频
  19. C++教程网之Linux网络编程视频 Unix网络编程视频
  20. 【刘二大人 - PyTorch深度学习实践】学习随手记(一)

热门文章

  1. MySql时间调整NOW()与系统时间不一致
  2. 工行企业网银“您的数据签名有误请联系当地工行”解决办法
  3. Charles抓包http/https(win10+IOS)
  4. 谷歌日历类似_如何在Google日历中查看即将到来的天气,体育比赛,电视节目等...
  5. Xshell连接ubuntu后,在vim编辑器中数字小键盘无法打出数字
  6. 用Node.JS和Think.JS实现的中宣部防沉迷实名认证系统
  7. java9 模块_了解Java 9模块
  8. Java高级程序员技术积累
  9. matlab如何提取亚像素边缘点,棋盘格图像角点坐标亚像素提取方法
  10. mysql命令远程连接cmd命令行_如何从Windows命令提示符连接到mysql命令行