分享好友 最新动态首页 最新动态分类 切换频道
按需引入
2024-12-26 14:18

前端页面为了提高加载的速度和性能,通常采用路由和组件的按需加载,其实在引入elemnet-plus时,也可以按需加载它里面的组件。下面就来介绍下全局引入和按需引入elemnet-plus组件的方式,并对这两种引入方式进行对比;同时,介绍如何自定义主题色。

按需引入

安装element-plus插件。

npm install element-plus --save

在main.ts中引入

import ElementPlus from 'element-plus' // 添加此行
import 'element-plus/theme-chalk/index.css'  // 添加此行
const app = createApp(App)
app.use(ElementPlus) // 添加此行
app.mount('#app')

在vue文件中直接使用即可,此处以Button组件为例

<template>
  <div class="demo">
    <el-button type="primary">Primary</el-button>
  </div>
</template>

在浏览器network查看引入element-plus的效果,可以看到文件大小为2.2MB

除了下载element-plus插件,还需要下载unplugin-vue-components 和 unplugin-auto-import 这两个插件

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

配置vite.config.ts

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import AutoImport from 'unplugin-auto-import/vite' // 添加此行
import Components from 'unplugin-vue-components/vite' // 添加此行
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'  // 添加此行
export default ({ mode }: {mode: any}) => {
  return defineConfig({
    plugins: [vue(), 
      vueJsx(),
      AutoImport({ // 添加此配置
        resolvers: [ElementPlusResolver()],
      }),
      Components({ // 添加此配置
        resolvers: [ElementPlusResolver()],
      }),
    ],
  })
}

在浏览器network查看引入element-plus的效果,可以看到每个文件都很小

新建样式scss文件,例如在src下新建style文件夹,新建element.scss文件

@forward "element-plus/theme-chalk/src/common/var.scss" with ($colors: (
        "primary": ("base": red),
    )
);
@use "element-plus/theme-chalk/src/index.scss" as *

配置vite.config.ts

export default ({ mode }: {mode: any}) => {
  return defineConfig({
    plugins: [vue(), 
      vueJsx(),
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        resolvers: [ElementPlusResolver()],
      }),
    ],
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('https://www.ctyun.cn/developer/article/src', import.meta.url))
      }
    },
    css: {
      // css预处理器
      preprocessorOptions: { // 添加此配置
        scss: {
          additionalData: `@use "@/assets/style/element.scss" as *; `,
        }
      },
    }
  })
}

此时,页面中引入element-plus组件时的主题就变成了自己设置的。例如下面的组件

<template>
  <div class="demo">
    <el-button type="primary">Primary</el-button>
  </div>
</template>

最新文章
淘宝里淘宝人生是什么
一、淘宝里淘宝人生是什么?淘宝人生是淘宝平台上推出的一个会员权益计划,旨在为淘宝用户提供更多的会员特权和优惠福利。通过参与淘宝人生计划,用户可以享受到更多的购物优惠、积分回馈、生日特权、专属活动等福利。淘宝人生会员分为多个
淘宝评价根据什么排名的?什么因素会影响评价排名?
如今淘宝店铺竞争压力越来越大,我们都知道在淘宝开店,卖家的店铺权重越高,排名就越靠前,那么作为商家怎么知道自己店铺的排名权重呢? 一、看下跟宝贝的权重排名有关的因素: 1、宝贝销量和排名的关系 2、宝贝转换率和排名的关系 3、宝贝
枣庄党建“三原色”为乡村振兴添彩
近年来,枣庄市以“红色堡垒、绿色产业、蓝色治理”党建“三原色”持续激发基层组织内生动力,为乡村振兴“添色加彩”。 激活组织引擎力,铸就堡垒“旗帜红” 作为堡垒上的鲜红旗帜,枣庄市紧盯村党组织书记这个“关键少数”,聚焦“村村
问界m5试驾预约(易车app汽车报价下载)
1、华为首款鸿蒙汽车AITO问界M5正式发布,这辆车有何亮点?2、aito问界m5预约试驾怎么取消3、AITO问界M5东莞试乘试驾品鉴会4、AITO问界M5:智驾版起航,标准版亮相5、问界M5如何预订1、因为与此前发布的同系列车型(标准版/性能版/至臻版/旗舰
豆瓣引流和新规下qq群排名怎么做!霸屏没商量!
1.说到豆瓣,很多人都非常熟悉。豆瓣成立于2005年。作为一个历史悠久的推广平台,有很多优势可寻。现在很多互联网项目还在用豆瓣做推广引流,效果不错。 那么如何用豆瓣引流吸粉呢?我们可以先去淘宝买一些豆瓣账号。关于账号,一定要看好
银行BI决策多少钱?投资回报与成本分析的深度探讨
在当今的金融环境中,银行面临着日益激烈的竞争和不断变化的市场需求。为了在这个快速变化的市场中保持竞争力,银行必须能够快速做出准确的决策。这就是商业智能()工具发挥作用的地方。工具通过分析大量数据,帮助银行识别趋势,预测客户
常清三仁茶(新零售商城开发)
常清三仁茶app开发找【请注明:黄海专属产品经理对接】常清三仁茶小程序开发,常清三仁茶系统开发,常清三仁茶软件商城开发,常清三仁茶模式平台搭建,常清三仁茶商城系统开发,常清三仁茶新零售系统开发,常清三仁茶模式系统开发【I8.5+ZO
中国古树名木排行榜前十名:最新、最全的十大古树名木大全
中国古树名木排行榜前十名:最新、最全的十大古树名木大全中国古树名木排行榜前十名是一份关于最新、最全的十大古树名木的详细列表。这些古树名木在历、文化、生态和科学价值方面都有着极高的地位对研究中国植物多样性和保护生态环境具有要
搜狗劫持百度神马等流量构成不正当竞争,3000万罚款创海淀法院同类案件最高纪录
图片来源:每经记者 张韵 摄6月27日,海淀法院对奇虎公司、百度公司,以及动景公司和神马公司因搜狗输入法通过搜索候选词为搜狗搜索导流量分别起诉搜狗公司等不正当竞争纠纷三案集中宣判。法院一审认定搜狗公司构成不正当竞争,应停止不正
相关文章
推荐文章
发表评论
0评