周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. 前端
  3. vite
  4. 正文

vue3 vite element-plus自定义主题色

2024年 8月 15日 1464点热度 1人点赞 0条评论
  • 项目 vue3 vite element-plus
  • 配置

    • 安装 scss yarn add sass

    • 准备定制化文件

    • 在静态资源中创建:@/assets/styles/element.scss

      /* 只需要重写你需要的即可 */
      @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,
            ),
          )
      );
    • 配置element-plus自动导入sass配色

    在vite.config.ts文件中修改Components

        plugins: [
            vue(),
            AutoImport({
                resolvers: [ElementPlusResolver()],
            }),
            Components({
                resolvers: [ElementPlusResolver(
                    {
                        importStyle: "sass",
                    }
                )],
            }),
        ],
    • 自动导入定制化样式覆盖
    css: {
            preprocessorOptions: {
                scss: {
                    // 自动导入定制化样式文件进行样式覆盖
                    additionalData: `
              @use "@/assets/styles/element.scss" as *;
            `,
                }
            }
        }
  • 修改后的vite.config.ts文件为

    import {defineConfig} from 'vite'
    import vue from '@vitejs/plugin-vue'
    import {fileURLToPath} from 'node:url';
    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: [
          vue(),
          AutoImport({
              resolvers: [ElementPlusResolver()],
          }),
          Components({
              resolvers: [ElementPlusResolver(
                  {
                      importStyle: "sass",
                  }
              )],
          }),
      ],
      resolve: {
          // extensions: [".js", ".jsx", ".ejs", '.mjs'], // 之前忽略了 .mjs
          alias: {
              "@": fileURLToPath(new URL("./src", import.meta.url)),
          },
      },
      css: {
          preprocessorOptions: {
              scss: {
                  // 自动导入定制化样式文件进行样式覆盖
                  additionalData: `
            @use "@/assets/styles/element.scss" as *;
          `,
              }
          }
      }
    })

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年 8月 15日

周凯

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蒙ICP备18004897号