位置: IT常识 - 正文

vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。)

编辑:rootadmin
vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。)

推荐整理分享vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

按需引入后ElMessage与ElLoading 的问题,两步优雅解决找不到名称“ElMessage”问题。不需要导入npm包,不需要下载任何东西,只要五行代码

目录

1、添加Element Plus组件库

1.2、下载

1.2、自动导入(官方推荐)

2、按需引入后ElMessage与ElLoading 的问题

2.1、解决问题

2.2、下面是分析原因,有兴趣可以看一下


1、添加Element Plus组件库1.1、下载

 npm

npm install element-plus --save

  yarn 

 yarn add element-plus 1.2、下载element-iconnpm install @element-plus/icons-vue

 element-icon也有自动导入的,但我感觉更麻烦,所有还是手动导入吧

手动导入方式:

import { Grid, RefreshRight } from "@element-plus/icons-vue";1.3、自动导入(官方推荐)

首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

如果你是从vite+vue3+ts 手把手教你创建一个vue3项目  过来的,已经下过了,就不用再下了,只要添加有element注释的那行就行

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

 vite.config.ts文件

import { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'// 自动导入vue中hook reactive ref等import AutoImport from "unplugin-auto-import/vite"//自动导入ui-组件 比如说ant-design-vue element-plus等import Components from 'unplugin-vue-components/vite';//elementimport { ElementPlusResolver } from 'unplugin-vue-components/resolvers'// https://vitejs.dev/config/export default defineConfig({ plugins: [ vue(), //element按需导入 AutoImport({ //安装两行后你会发现在组件中不用再导入ref,reactive等 imports: ['vue', 'vue-router'], dts: "src/auto-import.d.ts", //element resolvers: [ElementPlusResolver()], }), Components({ //element resolvers: [ElementPlusResolver()], //默认存放位置 //dts: "src/components.d.ts", }), ],})2、按需引入后ElMessage与ElLoading 的问题2.1、解决问题

1.创建一个 Element-puls.d.ts 的文件(如果觉得名字不好,可以改,但要以.d.ts结束就行)

export {}declare global { const ElMessage:typeof import('element-plus')['ElMessage'] const ElLoading:typeof import('element-plus')['ElLoading'] }

 2.然后在 tsconfig.json 文件添加一行代码

{ ......."include": ["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue", //添加这行"Element-puls.d.ts"],}

vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。)

这样就完成了,看效果

2.2、下面是分析原因,有兴趣可以看一下

原因:它们与普通的标签组件不同,它们两都是可以运行在script上的API,而这个文件也是引入的API放到全局,然后可以在script使用的,在这文件里的是自动按需导入的,

可以看下源码的导出,node_modules >element-plus>global.d.ts

// ****注释的忽略,是为是能看到全部内容

可以看到这是分两个类型的,

一个是GlobalComponents(全局组件),

一个是 ComponentCustomProperties(组件自定义属性)

 

然而自动导入会在你的components.d.ts 文件 只导入 GlobalComponents(全局组件) ,

但不会导入 ComponentCustomProperties(组件自定义属性)

*****而我也是突然觉得,为啥不也导入组件自定义属性

那为什么不与一起呢?

       这是因为vite.config.ts里的配置,每次解析imports内的内容,放到dts里,会自动刷新src/auto-import.d.ts内的代码。

 

 知道原因了,那解决也不难了,

本文链接地址:https://www.jiuchutong.com/zhishi/288984.html 转载请保留说明!

上一篇:【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测

下一篇:uniapp 前端获取微信小程序 URL Link (HTTPS调用)(uniapp获取window对象)

  • 库乐队删除了怎么恢复(库乐队删除怎么弄)

    库乐队删除了怎么恢复(库乐队删除怎么弄)

  • 微信号申请的步骤是怎样的(微信号申请的步数怎么看)

    微信号申请的步骤是怎样的(微信号申请的步数怎么看)

  • 华为nova4屏幕底下有黑边吗(华为nova 4屏幕)

    华为nova4屏幕底下有黑边吗(华为nova 4屏幕)

  • 抖音创作者服务中心在哪(抖音创作者服务中心在哪里打开)

    抖音创作者服务中心在哪(抖音创作者服务中心在哪里打开)

  • oppoa57手机怎么分屏操作(oppoa57手机怎么设置呼叫转移)

    oppoa57手机怎么分屏操作(oppoa57手机怎么设置呼叫转移)

  • 三星w20不支持移动5g吗(三星w20能用移动卡吗)

    三星w20不支持移动5g吗(三星w20能用移动卡吗)

  • 怎样才能合成抖音钻卡(抖音如何合成)

    怎样才能合成抖音钻卡(抖音如何合成)

  • 剪映怎么设置多少秒(剪映怎么设置多个蒙版)

    剪映怎么设置多少秒(剪映怎么设置多个蒙版)

  • 小米10青春和小米10区别(小米10青春和小米8)

    小米10青春和小米10区别(小米10青春和小米8)

  • 华为手机微信步数不更新怎么办(华为手机微信步数怎么关闭)

    华为手机微信步数不更新怎么办(华为手机微信步数怎么关闭)

  • 勿扰模式微信可以响吗(勿扰模式微信可以语音吗)

    勿扰模式微信可以响吗(勿扰模式微信可以语音吗)

  • 快手通过发现添加是什么意思(快手通过发现添加怎么关闭)

    快手通过发现添加是什么意思(快手通过发现添加怎么关闭)

  • 淘宝聊天的文件在哪里(淘宝聊天的文件在哪里找)

    淘宝聊天的文件在哪里(淘宝聊天的文件在哪里找)

  • cpu供电接口在哪(cpu供电接口在哪个位置)

    cpu供电接口在哪(cpu供电接口在哪个位置)

  • 安卓手机反应慢的解决方法(安卓手机反应慢需要关闭哪个系统)

    安卓手机反应慢的解决方法(安卓手机反应慢需要关闭哪个系统)

  • 淘宝追加评论可以隐藏吗(淘宝追加评论可以修改吗)

    淘宝追加评论可以隐藏吗(淘宝追加评论可以修改吗)

  • 打印标签纸怎么设置(打印标签纸怎么调)

    打印标签纸怎么设置(打印标签纸怎么调)

  • qq音乐怎么注销qq号(qq音乐怎么注销登录)

    qq音乐怎么注销qq号(qq音乐怎么注销登录)

  • wps选项设置在哪里(wps选项设置在哪里设置)

    wps选项设置在哪里(wps选项设置在哪里设置)

  • 微信里的文件怎么发送到邮箱(微信里的文件怎么传到u盘)

    微信里的文件怎么发送到邮箱(微信里的文件怎么传到u盘)

  • 苹果nfc功能怎么开启门禁卡(苹果nfc功能怎么开启地铁卡)

    苹果nfc功能怎么开启门禁卡(苹果nfc功能怎么开启地铁卡)

  • 微信当日步数怎么抹除(微信当日步数怎么删掉 知乎)

    微信当日步数怎么抹除(微信当日步数怎么删掉 知乎)

  • uniapp的onload()和onshow()的区别(uniapp components)

    uniapp的onload()和onshow()的区别(uniapp components)

  • JavaWeb 简单的图书管理系统(jsp+servlet)(javaweb界面设计)

    JavaWeb 简单的图书管理系统(jsp+servlet)(javaweb界面设计)

  • 企业税收收入怎么计算
  • 出口退税通俗理解
  • 免抵退税和留抵退税可以一起退吗
  • 增值税和个人所得税都要交吗
  • 定额征收需要建账吗
  • 企业年报社保都是0人的公司
  • 员工报销汽油费可以抵扣进项税吗
  • 商贸企业加工费包括哪些
  • 调整凭证分录
  • 应付职工薪酬明细账模板
  • 财务费用手续费有哪些
  • 出租包装物没收押金
  • 物业费增值税是什么意思
  • 增值税发票开户行填简称是被允许的吗?
  • 单品销售的方法
  • 企业所得税汇算清缴账务处理
  • 怎么分辨是否清真食品
  • 增值税附加税包含哪些税
  • 固定资产上的配件经常更换
  • 外汇扣税是多少钱啊
  • 日常服务app
  • 1697508991
  • 全盘账会计的工作流程是什么
  • 因腐败因素形成的损失企业所得税如何处理?
  • 房产免租期间缴纳房产税吗
  • 涉及农业的税收优惠有哪些
  • 债务重组损益如何确定
  • windows10开机很卡
  • mac文本文件
  • 用友软件查其他业务收入怎么查
  • 技术合同指什么
  • windows10怎么设置自启动
  • bootice.exe
  • soft version
  • php语法和常用的函数
  • 房地产会计核算地上地下成本分摊
  • vue中使用md5加密
  • 有哪些天气软件
  • reactvate
  • python中字符串的长度怎么算
  • wordpress图片模板
  • 外籍专家劳务费
  • 生产销售库存的会计科目
  • 深入解读何暮楚
  • mysql5.7字符集
  • 新办企业购置设备申请
  • 应税货物及劳务 增加
  • 生产部门包括
  • c#窗体类属性和方法
  • 没有参加会计继续教育会怎样
  • 销售金银首饰增值税和企业所得税
  • 会计手工做账的目的
  • 员工罚款从工资中代扣
  • 无形资产摊销账面价值
  • 固定资产租赁费评估
  • 往来出现差额调账说明
  • 公司支付账户
  • 金税盘每年服务费可以抵扣吗
  • 用友t3普及版价格
  • 购买服务付款方式有几种
  • 办公用品怎么开大额发票
  • 会计档案步骤
  • 实现分页功能的多种原理方案
  • sqlserver自定义函数在哪查看
  • windows常用功能
  • xp能不能升级win10
  • PHP time_nanosleep() 函数使用介绍
  • centos升级命令
  • linux就该这么
  • windows10右键菜单被任务栏挡
  • 什么是血糖
  • vue怎么做兼容
  • 基于javascript的毕业设计
  • javascript中的函数包括内置函数和自定义函数
  • Unity3D游戏开发标准教程
  • JavaScript 事件绑定及深入
  • jq拖拽功能
  • 购车发票包含
  • 个人经营所得税怎么做账务处理
  • 个税扣款怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设