当前位置: 首页 > news >正文

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

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

主题定制

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

1. 装包sass

npm i sass -D

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

2. 准备主题定制文件

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

// 例如:
/* 只需要重写你需要的即可 */
@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,
    ),
  )
)

3. 配置-对原样式进行覆盖,代码在最后

  // 2. 自动导入定制化样式文件进行样式覆盖
  css:{
    preprocessorOptions: {
      scss: {
        additionalData: `
          @use "@/styles/element/index.scss" as *;
        `,
      }
    }
  },
    Components({
      resolvers: [
        // elementPlus主题定制:装包sass(开发环境-D) -> 配置
        // 1. 配置elementPlus采用sass样式配色系统
        ElementPlusResolver({importStyle: "sass"}),
      ],
    })

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

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

相关文章:

  • 【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值
  • 将函数实现放到CPP报“无法解析的外部符号...”,系VS Bug
  • Flink从入门到精通之-05 DataStream API
  • 命名空间 namespace
  • 前端开发——Javascript的定义函数、事件处理、Math对象、Date对象
  • GPT-4老板:AI可能会杀死人类,已经出现我们无法解释的推理能力
  • CSS(三)
  • 华为nat配置实验:内网能够访问外网,内网服务器80端口映射出去
  • Linux使用:环境变量指南和CPU和GPU利用情况查看
  • 《C++那些事》Step By Step上手学习
  • CentOS8提高篇22:制作crontab计划任务,at一次性计划任务
  • Java云电子病历系统源码,提供电子病历在线制作、管理和使用的一体化电子病历
  • 【ansible】实施任务控制
  • 【愚人节专场】Java实现定时发送小情话
  • 基于SpringBoot实现CSGO游戏赛事管理系统演示【附项目源码】分享
  • 一个年薪40w软件测试员的职业规划,写给还在迷茫中的朋友
  • 使用Xarray解码GFS气象源文件和pip国内源
  • Beats:在 Docker 中同时部署 Metricbeat 和 Elasticsearch
  • 【数据仓库-7】-- 使用维度建模的一些缘由
  • node-fs
  • 主动权益基金一季度重仓股出炉:腾讯跃升至第一,阿里、比亚迪、中芯国际新进前十
  • 上海常务副市长:持续提升跨境投融资便利化水平,稳步扩大金融领域的制度型开放
  • 外交部答澎湃:愿同阿曼在国际和地区事务中加强沟通协调
  • “五一”假期前多地规范旅游市场:要求明码标价,禁止强迫购物
  • 我国与沙特签署《核能发展安全与安保合作谅解备忘录》
  • 豫章故郡,剑指演艺经济新高地