Vue3按需引入Element Plus以及定制主题色教程

 更新时间:2023年06月26日 12:09:14   作者:未及545  
由于涉及到vue框架单网页应用首屏加载慢这个问题,我们需尽量减少加载负担,故采用按需引入的方式,只引入项目中用到的组件,这篇文章主要给大家介绍了关于Vue3按需引入Element Plus以及定制主题色的相关资料,需要的朋友可以参考下

1.首先使用指令进行安装

npm install element-plus --save

2.安装按需引入另外两个插件

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

3.在vite.config.js文件引入以下内容

import { fileURLToPath, URL } from 'node:url'
 
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),
  AutoImport({
    resolvers: [ElementPlusResolver()],
  }),
  Components({
    resolvers: [ElementPlusResolver()],
  }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

此时在App.vue引入button按钮,可看到效果如下,便引入成功:

4.如果不想用上述色调,要定制自己的怎么操作

如下:

安装scss

npm i sass -D     (-D代表安装在开发环境的依赖)

准备定制样式文件(在styles文件创建element文件以及下的index.scss文件)

styles/element/index.scss

//index.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,
  ),
  )
)

配置elementPlus采用sass样式配色系统

自动导入定制化样式文件进行样式覆盖

在vite.config.js文件

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),
  AutoImport({ 
    resolvers: [ElementPlusResolver()],
  }),
  Components({
    // 配置elementPlus采用sass样式配色系统
    resolvers: [ElementPlusResolver({ importStyle: "sass" })],
  }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  // 自动导入定制化样式文件进行样式覆盖
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "@/styles/element/index.scss" as *;`
      }
    }
  }
})

修改好配置文件记得重新启动哦~

样式如下,和官网样式对比有了很明显变化,证明起了作用: 

总结

到此这篇关于Vue3按需引入Element Plus以及定制主题色的文章就介绍到这了,更多相关Vue3按需引入Element Plus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 为什么vue中不建议使用空字符串作为className

    为什么vue中不建议使用空字符串作为className

    本文主要介绍了为什么vue中不建议使用空字符串作为className,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue中 v-for循环的用法详解

    vue中 v-for循环的用法详解

    这篇文章主要介绍了vue中 v-for循环的用法详解,本文通过实例代码的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • vue-element-admin配置小结

    vue-element-admin配置小结

    本文主要介绍了vue-element-admin配置小结,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue背景图片路径问题及解决

    vue背景图片路径问题及解决

    这篇文章主要介绍了vue背景图片路径问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • vue实现数字加逗号分隔

    vue实现数字加逗号分隔

    在Vue项目中,对数字进行格式化,实现带小数的数字三位一分隔的效果,可以通过自定义过滤器来实现,使用JavaScript的toLocaleString方法可以方便地将数字转换成带逗号的格式
    2024-10-10
  • 浅谈vue首屏加载优化

    浅谈vue首屏加载优化

    这篇文章主要介绍了浅谈vue首屏加载优化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • vue3中watch监听的四种写法

    vue3中watch监听的四种写法

    本文主要介绍了vue3中watch监听的四种写法,包含了ref 定义的数据,reactive定义的数据,函数返回的值(getter函数)和前面3个内容的数组,具有一定的参考价值,感兴趣的可以了了解一下
    2024-02-02
  • Vue+Echarts实现简单折线图

    Vue+Echarts实现简单折线图

    这篇文章主要为大家详细介绍了Vue+Echarts实现简单折线图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue+animation实现翻页动画

    vue+animation实现翻页动画

    这篇文章主要为大家详细介绍了vue+animation实现翻页动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • vue中复用vuex.store对象的定义

    vue中复用vuex.store对象的定义

    这篇文章主要介绍了vue中复用vuex.store对象的定义,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论