【Vite+Ts】自动按需引入Element-Plus

安装插件

javascript 复制代码
cnpm i -D unplugin-vue-components unplugin-auto-import unplugin-element-plus

修改vite.config.ts

javascript 复制代码
// vite.config.ts
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import ElementPlus from "unplugin-element-plus/vite";

export default defineConfig({
  // ...
  plugins: [
   vue(),
   AutoImport({
     resolvers: [ElementPlusResolver()],
     dts: "types/auto-generate/auto-import.d.ts",
   }),
   Components({
     resolvers: [ElementPlusResolver()],
     dts: "types/auto-generate/components.d.ts",
   }),
   ElementPlus({}),
 ],
})

然后就可以使用了!图标的我就直接全局导入了,想自动导入看下面:

icon图标自动导入:

javascript 复制代码
cnpm i -D unplugin-icons

vite.config.ts增加:

javascript 复制代码
// 自动导入图标
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
// plugins修改:
AutoImport({
  resolvers: [
  	ElementPlusResolver(),
  	// 自动导入图标组件
    IconsResolver({
      prefix: 'Icon',
    })
  ],
  dts: "types/auto-generate/auto-import.d.ts",
}),
Components({
  resolvers: [
  	ElementPlusResolver(),
  	// 自动注册图标组件
    IconsResolver({
      enabledCollections: ['ep'],
    }),
  ],
  dts: "types/auto-generate/components.d.ts",
}),
// 导入图标组件
Icons({
    autoInstall: true,
})

用法:
<el-icon><Plus /></el-icon>  错误
<el-icon><i-ep-plus /></el-icon>  正确

必须要加i-ep

关于页面 ElMessageBox 报错问题:

我目前最快的解决办法只能是单独引入ElMessageBox。有更好的方法欢迎留言。

用法:

javascript 复制代码
<script setup lang="ts">
import { ElMessageBox } from "element-plus";
ElMessageBox({/**/})
</script>

感谢你的阅读,如对你有帮助请收藏+关注!

只分享干货实战精品从不啰嗦!!!

如某处不对请留言评论,欢迎指正~

博主可收徒、常玩QQ飞车,可一起来玩玩鸭~

相关推荐
卡布鲁35 分钟前
Webpack 核心原理与自定义 Loader/Plugin 实战
前端·javascript
小林ixn37 分钟前
从拼多多手机号验证到模板引擎:深入正则表达式与 JS 字符串处理
开发语言·javascript·正则表达式
智码看视界41 分钟前
Web Storage 的无障碍实践与工程化应用
前端·javascript·web
卤蛋fg61 小时前
vxe-table 列拖拽排序与行拖拽排序:让表格布局任意排序
vue.js
半个烧饼不加肉1 小时前
JS 底层探究-- 普通函数和构造函数
开发语言·javascript·原型模式
meilindehuzi_a1 小时前
透视 V8 底部:从物理内存到函数式哲学,重新解构 JavaScript 数组
开发语言·javascript·ecmascript
粉末的沉淀1 小时前
vue:Vite项目中高效管理纯色SVG图标的方案
前端·javascript·vue.js
FlyWIHTSKY1 小时前
JavaScript 和 TypeScript 分别是什么,可以相互写吗
javascript·ubuntu·typescript
卤蛋fg61 小时前
vxe-table 列宽与行高拖拽调整:让表格布局极其灵活,拖拽功能非常强大
vue.js
YHHLAI1 小时前
JavaScript 数据结构精讲:数组底层与实战避坑
开发语言·javascript·数据结构