vue3.2 vite element-plus组件按需引入

用到的依赖插件,需要npm install xxx安装

组件相关:@vitejs/plugin-vue、unplugin-auto-import、unplugin-vue-components,
图标相关:unplugin-icons

下面是项目代码,用不到的可以忽略

vite.config.ts

import { defineConfig} from "vite";
import { resolve } from "path";
//按需引入需要的依赖
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";
// 图标
import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";

export default defineConfig(({ command }) => {
  return {
    resolve: {
      alias: {
        "@": resolve(__dirname, "src")
      },
      extensions: [".js", ".json", ".ts"], // 导入时想要省略的后缀名,.vue等自定义文件不建议省略,影响IDE识别和提示
    },
	
    plugins: [
      vue(),
      // 按需引入
      AutoImport({
        resolvers: [
          ElementPlusResolver({ importStyle: "sass" }), // 自动导入图标组件
          IconsResolver({
            prefix: "Icon",
          }),
        ],
      }),
      Components({
        resolvers: [
          ElementPlusResolver({ importStyle: "sass" }),
          // 自动注册图标组件
          IconsResolver({
            enabledCollections: ["ep"],
          }),
        ],
      }),
      Icons({
        autoInstall: true,
      }),
    ],
  };
});

此时直接在页面内使用组件就可以,根目录下components.d.ts文件会动态引入使用的文件。
但是一些全局组件,弹框、对话框等直接在js里调用的,并不会被引入,需要手动引入到全局

main.ts

import 'element-plus/es/components/message/style/css'
import 'element-plus/es/components/message-box/style/css'

xxx.vue,页面内使用

<script setup lang="ts">
	import { ElMessage } from "element-plus";
	ElMessage.warning("warnning");
</script>

图标的使用也需要手动引入,不然会提示找不到组件

xxx.vue,图标使用

<template>
	<el-icon><Right /></el-icon>
</template>
<script setup lang="ts">
	import { Right } from "@element-plus/icons-vue";
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值