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

前言

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

element-plus官方文档

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

安装依赖

pnpm add element-plus@2.2.19 -S

配置

完整引入#

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

// main.ts
    import { createApp } from 'vue'
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import App from './App.vue'

    const app = createApp(App)

    app.use(ElementPlus)
    app.mount('#app')

测试

<script setup lang="ts">
import { Check } from '@element-plus/icons-vue'
console.log('111')
</script>

<template>
    <div class="box">
        <el-button type="primary" size="default" :icon="Check">朱啊</el-button>
        <h1>11111</h1>
    </div>
</template>

<style scoped lang="scss">
.box {
    width: 200px;
    height: 200px;
    background-color: beige;

    h1 {
        color: red;
    }
}
</style>

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

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

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

Element Plus全局组件类型声明

// tsconfig.json
    {
    "compilerOptions": {
    // ...
    "types": ["element-plus/global"]
    }
    }

配置完毕可以测试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

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

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

手动导入

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

element-plus手动导入

element-plus全局配置

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

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

<!-- App.vue -->
<template>
  <el-config-provider size="small">
    <!-- ... -->
  </el-config-provider>
</template>

配置国际化语言

<!-- App.vue -->
<template>
  <el-config-provider size="small" :locale="locale">
    <router-view />
  </el-config-provider>
</template>
<script setup>
import { ElConfigProvider } from "element-plus";
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
let locale = $ref(zhCn);
</script>

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

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

修改命名空间

<!-- App.vue -->
<template>
  <el-config-provider namespace="ep">
    <!-- ... -->
  </el-config-provider>
</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>

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3使用Element Plus的配置方法如下: 第一步是安装Element Plus,其中element-plus是专为Vue3设计的,而element-ui是用于Vue2的。 第二步是通过浏览器的HTML标签导入Element Plus的样式和组件库。可以通过以下代码在<head>标签中导入样式和组件库: ```html <head> <!-- 导入样式 --> <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" /> <!-- 导入 Vue 3 --> <script src="//unpkg.com/vue@3"></script> <!-- 导入组件库 --> <script src="//unpkg.com/element-plus"></script> </head> ``` 第三步是导入和使用Element Plus组件。可以通过以下代码导入全部组件并注册所有的图标: ```javascript // 导入 element-plus import ElementPlus from "element-plus"; // 导入 element-plus 样式 import "element-plus/dist/index.css"; // 导入 element-plus 图标 import * as ElementPlusIconsVue from "@element-plus/icons-vue"; // 注册所有图标 for (const [key, component of Object.entries(ElementPlusIconsVue)) { app.component(key, component); } ``` 第四步是声明使用ElementPlus的全局变量,包括在Vue的实例中使用和挂载路由、状态管理等插件。可以通过以下代码实现: ```javascript // 使用router、vuex、element-plus并挂载 app.use(ElementPlus).use(router).use(store).mount("#app"); ``` 以上是Vue3使用Element Plus的配置方法。通过安装、导入和使用组件,以及声明使用ElementPlus的全局变量,就可以在Vue3中配置和使用Element Plus了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue3使用element-plus](https://blog.csdn.net/m0_66492535/article/details/128048780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值