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

  • nvidia tegra4和高通骁龙800哪个好(tegra 4 骁龙800)(nvidia 4系列)

    nvidia tegra4和高通骁龙800哪个好(tegra 4 骁龙800)(nvidia 4系列)

  • 48v20ah等于多少毫安(48v20ah等于多少度)

    48v20ah等于多少毫安(48v20ah等于多少度)

  • excel怎么拉长单元格(excel如何拉长)

    excel怎么拉长单元格(excel如何拉长)

  • 微信朋友圈如何只发文字(微信朋友圈如何更改定位位置)

    微信朋友圈如何只发文字(微信朋友圈如何更改定位位置)

  • 手机拍照和单反的差距(手机拍照和单反拍照)

    手机拍照和单反的差距(手机拍照和单反拍照)

  • 为什么买票身份验证失败(为什么买票身份待核验)

    为什么买票身份验证失败(为什么买票身份待核验)

  • 表格里填身份证号变成E+怎么办(表格里填身份证号码格式不对)

    表格里填身份证号变成E+怎么办(表格里填身份证号码格式不对)

  • redmi5a是什么手机(redmi 5a)

    redmi5a是什么手机(redmi 5a)

  • 戴尔电脑内屏碎了(戴尔电脑内屏碎了怎么换)

    戴尔电脑内屏碎了(戴尔电脑内屏碎了怎么换)

  • 显示对方正在输入却没收到消息(显示对方正在输入的条件)

    显示对方正在输入却没收到消息(显示对方正在输入的条件)

  • 华为一碰传怎么用不了(华为一碰传怎么传照片)

    华为一碰传怎么用不了(华为一碰传怎么传照片)

  • qq后面有个帆船标志(qq后面有个帆船是什么意思)

    qq后面有个帆船标志(qq后面有个帆船是什么意思)

  • 苹果手机一直闪退是因为什么(苹果手机一直闪退怎么解决)

    苹果手机一直闪退是因为什么(苹果手机一直闪退怎么解决)

  • ipadair3能扩展内存吗(ipadair3可以扩容128g吗)

    ipadair3能扩展内存吗(ipadair3可以扩容128g吗)

  • 电脑风扇不转开不了机是什么原因(电脑风扇不转开机黑屏)

    电脑风扇不转开不了机是什么原因(电脑风扇不转开机黑屏)

  • 手机wps文件打包发送(手机wps文件打包在哪里)

    手机wps文件打包发送(手机wps文件打包在哪里)

  • 安卓手机能不能扩容(安卓手机能不能用carplay)

    安卓手机能不能扩容(安卓手机能不能用carplay)

  • u盘泡水里一周还能用吗(u盘泡了水)

    u盘泡水里一周还能用吗(u盘泡了水)

  • ios不越狱修改位置(免越狱修改位置)

    ios不越狱修改位置(免越狱修改位置)

  • 美团好评怎么写(奶茶美团好评怎么写)

    美团好评怎么写(奶茶美团好评怎么写)

  • QQ音乐怎么设置随机播放(qq音乐怎么设置音质效果)

    QQ音乐怎么设置随机播放(qq音乐怎么设置音质效果)

  • Linux中网络管理命令ipconfig与route的基本使用教程(linux网络管理实训总结)

    Linux中网络管理命令ipconfig与route的基本使用教程(linux网络管理实训总结)

  • 帝国cms怎么加广告(帝国cms使用手册)

    帝国cms怎么加广告(帝国cms使用手册)

  • pytorch-实现天气识别(python天气数据的爬取与分析)

    pytorch-实现天气识别(python天气数据的爬取与分析)

  • 企业产生的所得税计入
  • 从价计税消费税计算公式
  • 房屋租赁备案要准备什么资料
  • 个体工商户可以开发票吗
  • 建筑行业税负率表2023最新
  • 未休年假三倍怎么计算
  • 充值给予的优惠怎么用
  • 收到总工会转工资怎么办
  • 增值税普票跨月怎么冲红
  • 零余额账户银行余额调节表
  • 承兑汇票打折支付如何账务处理?
  • 公司临时聘用人员法规
  • 公司利润不分配可以怎么处理
  • 增值税电子发票怎么下载
  • 房产赠与流程是什么意思
  • 工资个税合理避税
  • 工程物资应该计入哪里
  • 资产负债表应收账款是负数怎么回事
  • 合作保证金规定
  • 权益净利率计算公式推导
  • win11桌面图标如何固定不动
  • 笔记本windows10截屏
  • 华为鸿蒙系统开发平台
  • 政府补助具有哪些特点?
  • 共管帐户的特点是什么
  • 个人销售自己使用过的物品免征增值税
  • 融资租赁和经营租赁哪个更常见
  • Windows 2003 SP2 简体中文版下载地址
  • php字符串赋值
  • PHP:class_implements()的用法_spl函数
  • 电脑怎样设置共享文件夹
  • Dardanup郡的小矮人村,澳大利亚 (© Amanda Hughes/Alamy)
  • 融资租赁账务处理实例承租方
  • 转出未交增值税和未交增值税区别
  • 阿巴拉契亚国家步道的英文怎么说
  • 所得税返还计入什么科目
  • php中的类
  • fasternet高效上采样模块
  • gpgpu编程技术
  • lvm 命令
  • ssh命令用法
  • 印花税跨年度缴纳有滞纳金吗
  • 国库集中支付发送签收失败
  • dedecms安装步骤
  • 帝国cms插件编写教程
  • 经营范围变更银行变更需要什么资料
  • 金蝶新建账套如何录入固定资产账套
  • 保险车辆理赔入账流程
  • 法人如何网上申请辞职手续
  • 记账凭证错误的更正方法
  • 银行股分红划算吗
  • 临时工工资会计凭证
  • 会计事务所给的发票
  • 非限定性净资产属于什么科目
  • 建筑企业营改增之前计税方法
  • 企业支付的技术转让费计入管理费用吗
  • 重要性水平如何判断
  • 非营利医疗机构由谁批准
  • mysql获取当前日期时间函数
  • 数据库sql server
  • sql server如何修改表名
  • window8更新10
  • win10系统升级后桌面图标变大
  • windows7触摸
  • 深入了解linux内核
  • linux发布项目
  • cortana小娜怎么用
  • win10预览版桌面图标和任务栏不翼而飞怎么办?
  • react父组件触发子组件方法
  • jQuery插件能输出到控制台
  • jQuery实现两个下拉列表关联
  • linux shell条件判断语句
  • unity简单小游戏案例
  • unity 3d完全自学教程
  • unity-3d
  • python2ide
  • jquery文档处理有哪些
  • 陕西税务电子税务局官网安装
  • 大理市国税局
  • 广东省电子税务局申报缴税操作指引
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设