vue-elementPlus自动按需导入和主题定制

elementPlus自动按需导入

装包 -> 配置

  1. 装包(主包和两个插件包)

    $ npm install element-plus --save

    npm install -D unplugin-vue-components unplugin-auto-import

  2. 配置

在vite.config.js文件中配置,配置完重启(npm run dev)

javascript 复制代码
// elementPlus按需导入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
javascript 复制代码
    //...elementPlus按需导入
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [
        ElementPlusResolver(),
      ],
    })

主题定制

装包sass -> 主题样式定制文件 -> 配置

  1. 装包sass

npm i sass -D

(注:-D表示仅在开发环境中依赖)

  1. 准备主题定制文件

置于 styles/element/index.scss 中(elementPlus要求的文件命名写法,文件通常由UI提供),定制不同的样式颜色

javascript 复制代码
// 例如:
/* 只需要重写你需要的即可 */
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
  $colors: (
    'primary': (
      // 主色
      'base': #27ba9b,
    ),
    'success': (
      // 成功色
      'base': #1dc779,
    ),
    'warning': (
      // 警告色
      'base': #ffb302,
    ),
    'danger': (
      // 危险色
      'base': #e26237,
    ),
    'error': (
      // 错误色
      'base': #cf4444,
    ),
  )
)
  1. 配置-对原样式进行覆盖,代码在最后
javascript 复制代码
  // 2. 自动导入定制化样式文件进行样式覆盖
  css:{
    preprocessorOptions: {
      scss: {
        additionalData: `
          @use "@/styles/element/index.scss" as *;
        `,
      }
    }
  },
javascript 复制代码
    Components({
      resolvers: [
        // elementPlus主题定制:装包sass(开发环境-D) -> 配置
        // 1. 配置elementPlus采用sass样式配色系统
        ElementPlusResolver({importStyle: "sass"}),
      ],
    })

进行测试,验证成功与否。

参考:一个 Vue 3 UI 框架 | Element Plus (element-plus.org)

相关推荐
何何____20 分钟前
Vue 全局事件总线详解
前端·javascript·vue.js
EatFan1 小时前
Go语言全栈实战:基于 Gin + Vue + JWT + RBAC 从零搭建前后端分离权限管理系统
vue.js·golang·go·vue·gin·jwt·rbac
u0111026751 小时前
工具页案例图如何编写 alt让图片说明与处理场景对应
java·前端·javascript·图像处理·人工智能·算法·ai作画
事圆则缓1 小时前
Flutter 状态管理框架对比(五):GetX 的响应式、依赖注册与生命周期
前端·javascript·flutter
陈拉斯3 小时前
Vue SPA 站百度收录“全军覆没“?一次预渲染抢救的完整实战(2026 踩坑版)
vue.js
500843 小时前
React Native for OpenHarmony 实战:三方库 react-native-crypto-js 的鸿蒙化适配指南
javascript·react native·性能优化·electron·harmonyos
linux_cfan3 小时前
videojs v10 源代码系列解读:32 · Reactor 模型:信号驱动的状态机
前端·javascript·音视频
羲云3 小时前
给页面加一个 JSON 编辑器:jsoneditor 的功能、配置和接入注意事项
javascript
福兮说3 小时前
Base64 遇上中文和 emoji:btoa 报错、解出一串 %E7、URL 里加号变空格,六个坑一次说清
前端·javascript·base64·编码