位置: 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对象)

  • 报关单境外收货人错了怎么办
  • 境外培训费计入关税完税价格
  • 完税证明能作为理赔依据吗
  • 陈列费属于什么大类
  • 固定资产清理期末余额在借方是什么意思
  • 转出多交增值税最后怎么做平
  • 银行商业承兑汇票到期怎么兑现
  • 员工充值饭卡的收入如何做账
  • 个体户经营税收政策
  • 库存现金贷方为负数说明什么
  • 股息红利所得如何缴纳个人所得税
  • 存货呆滞是什么意思
  • 政府给的慰问金叫什么
  • 事业单位支付方式
  • 修理费的定额发票还可以报销吗?
  • 土地增值税成本扣除项目
  • 企业所得税退税怎么做账务处理
  • 新政府会计制度与旧制度区别
  • 小规模纳税人是公司还是个人
  • 应付职工薪酬明细表怎么填写
  • 广告费和业务宣传费
  • 技嘉主板无法安装网卡驱动
  • linux mib
  • 股票以公允价值计量
  • vue打包vendor文件过大
  • php批量发送邮件
  • 其他债权投资按公允价值计量,为什么计提减值准备知乎
  • 填制的凭证内容有哪些
  • 博茨瓦纳热吗
  • 免税怎么开
  • 股票的红利
  • 设备维修产生的人工费怎么开发票
  • 分配利润的会计处理
  • 小规模拍卖公司怎么开票
  • ChatGPT的火爆出圈,你对它有几分了解?
  • python3 argparse
  • 超过离线开票限定时间怎么办
  • 农民专业合作社是企业法人吗
  • 空调入固定资产几年折旧
  • 库存周转率会大于1吗
  • 转出未交增值税借方余额表示什么
  • python3 zipfile模块
  • rabbitmq work queue
  • 增值税季度缴纳时间
  • 期末进行存货清查
  • 法人向公司账户打款合法吗
  • mysql中的null值和空
  • 一般纳税人收取停车费的税率
  • 房东减免部分房租
  • 个人转租房屋需要交房产税吗
  • 租赁存在的原因有哪些
  • 计提工会经费是什么凭证
  • 预付账款和其他应付款的区别
  • 应付账款借方余额在资产负债表中怎么列示
  • 生产成本里面的直接人工
  • 购买农产品进行销售要交税吗
  • 项目资本金如何确定
  • 暂估收入怎么做分录
  • 营改增人力资源服务
  • 建筑业营改增后税务问题
  • 银行余额调节表电子版
  • ubuntu安装软件没反应
  • 两种方法解决一年级看图问题
  • 跳线短路
  • windows崩溃后怎么修复
  • centos删除vg
  • mac 阿里旺旺怎么使用
  • win7如何打开命令窗口
  • win8查看系统版本
  • 一边做游戏一边学英语
  • jquery 动态绑定
  • linux压缩命令compress
  • jquery简单例子
  • javascript要怎么学
  • javascript基础编程
  • jQuery 选择同时包含两个class的元素的实现方法
  • 产品税务编号查询系统官网
  • 教育附加费网上缴费
  • 企业年金个人缴纳的辞职能拿吗
  • 贵阳地铁报销凭证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设