当前位置:   article > 正文

vue3后台管理框架之全局配置element-plus_配置element plus

配置element plus

前言

本篇主要介绍集成element-plus,主要包括全量引入,部分引入,element-plus一些常用配置等

element-plus官方文档

我们先看看element-plus介绍 ----- 基于 Vue 3,面向设计师和开发者的组件库

安装依赖

pnpm add element-plus@2.2.19 -S

配置

完整引入#

如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。

  1. // main.ts
  2. import { createApp } from 'vue'
  3. import ElementPlus from 'element-plus'
  4. import 'element-plus/dist/index.css'
  5. import App from './App.vue'
  6. const app = createApp(App)
  7. app.use(ElementPlus)
  8. app.mount('#app')

测试

  1. <script setup lang="ts">
  2. import { Check } from '@element-plus/icons-vue'
  3. console.log('111')
  4. </script>
  5. <template>
  6. <div class="box">
  7. <el-button type="primary" size="default" :icon="Check">朱啊</el-button>
  8. <h1>11111</h1>
  9. </div>
  10. </template>
  11. <style scoped lang="scss">
  12. .box {
  13. width: 200px;
  14. height: 200px;
  15. background-color: beige;
  16. h1 {
  17. color: red;
  18. }
  19. }
  20. </style>

入口文件main.ts全局安装element-plus,element-plus默认支持语言英语设置为中文

  1. import ElementPlus from 'element-plus';
  2. import 'element-plus/dist/index.css'
  3. //@ts-ignore忽略当前文件ts类型的检测否则有红色提示(打包会失败)
  4. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
  5. app.use(ElementPlus, {
  6. locale: zhCn
  7. })

  1. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  2. //@ts-expect-error
  3. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'

Element Plus全局组件类型声明

  1. // tsconfig.json
  2. {
  3. "compilerOptions": {
  4. // ...
  5. "types": ["element-plus/global"]
  6. }
  7. }

配置完毕可以测试element-plus组件与图标的使用.

找不到“element-plus/global”的类型定义文件。 程序包含该文件是因为: 在 compilerOptions 中指定的类型库 "element-plus/global"

这时尝试添加declare module "element-plus";无果,该方法参考ts文件说明

可以修改tsconfig.json文件下的moduleResolution的bundler为node,等待几秒或者重启vscode即可

按需导入

您需要使用额外的插件来导入要使用的组件。

自动导入(推荐)

首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

pnpm add -D unplugin-vue-components unplugin-auto-import

// vite.config.ts

  1. // vite.config.ts
  2. import { defineConfig } from 'vite'
  3. import AutoImport from 'unplugin-auto-import/vite'
  4. import Components from 'unplugin-vue-components/vite'
  5. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  6. export default defineConfig({
  7. // ...
  8. plugins: [
  9. // ...
  10. AutoImport({
  11. resolvers: [ElementPlusResolver()],
  12. }),
  13. Components({
  14. resolvers: [ElementPlusResolver()],
  15. }),
  16. ],
  17. })

注:按需导入目前发现会影响dev环境首次页面加载速度,目前框架中使用完整引入

手动导入

当然你还可以手动导入这里就不多说了

element-plus手动导入

element-plus全局配置

管方提供了配置组件 ElConfigProvider ,那么所有的全局配置,都可以在这里设置

配置全局size ,官方提供了三种, small , default(默认), large 少了 mini

  1. <!-- App.vue -->
  2. <template>
  3. <el-config-provider size="small">
  4. <!-- ... -->
  5. </el-config-provider>
  6. </template>

配置国际化语言

  1. <!-- App.vue -->
  2. <template>
  3. <el-config-provider size="small" :locale="locale">
  4. <router-view />
  5. </el-config-provider>
  6. </template>
  7. <script setup>
  8. import { ElConfigProvider } from "element-plus";
  9. import zhCn from "element-plus/dist/locale/zh-cn.mjs";
  10. let locale = $ref(zhCn);
  11. </script>

通过 locale 变量配置国际化语言

其他语言,可通过 element-plus国际化语言 获取

修改命名空间

  1. <!-- App.vue -->
  2. <template>
  3. <el-config-provider namespace="ep">
  4. <!-- ... -->
  5. </el-config-provider>
  6. </template>

如配置了namespace="ep",那么变量前缀 el- 就变成了 ep- 如变量:el-button--small -> ep-button--small

<button class="ep-button ep-button--primary ep-button--small" aria-disabled="false" type="button"><!--v-if--><span class="">我是element-plus button</span></button>

关于命名空间和主题色,我们在主题色篇讲解

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/1021932
推荐阅读
相关标签
  

闽ICP备14008679号