当前位置: 首页 > news >正文

vite tsx项目的element plus集成 - 按需引入踩坑

前面我们进行了开源组件的自研,很多组件可直接用现成的开源组件库,并不需要自己重复造轮子,为此我们讲如何在当前vite + vitepress + tsx技术整合的项目中实现element plus组件的按需引入,同时解决遇到的一些坑。

安装Element Plus

npm i -S element-plus

插件安装

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

vite配置

在这里插入图片描述

用到了vitepress来展示组件文档,要在文档的vue页面中使用element组件同样需要配置:

docs/.vitepress/config.ts

在这里插入图片描述

jsx文件中遇到的坑

jsx中使用element plus的按需引入方式遇到了一些坑,因为小卷习惯用tsx文件来写组件,发现要按需引入element plus,在tsx文件只存在如下问题:

  1. 直接使用<el-xxx>标签无法解析和识别,必须要手动引入下:

    import { ElButton } from 'element-plus'
    
  2. 手动引入后,element组件可以被解析渲染,但是样式却不生效,无法被引入

经过实验,发现.tsx文件可以用.vue文件来替换,语法完全保持不变:

在这里插入图片描述

写法如下:

<script lang="tsx">
import { defineComponent, ... } from 'vue'
export default defineComponent({name: 'XxxComponent',setup(...) { ... }
})
</script>

也就是我们只要把原来.tsx文件内容全部原封不动的拷贝到对应.vue文件的<script lang='tsx'></script>标签体中即可。

然后我们就放心的直接使用element提供的组件即可,不需要做任何的导入,直接使用,比如对分页内容的渲染,我们直接使用element提供的<el-button>组件:

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 虚拟机配置RabbitMQ集群教程
  • 长短期记忆网络(LSTM)预测模型及其Python和MATLAB实现
  • 【WiFi】一文了解WiFi中的 SISO/SIMO/MISO/MIMO/SU-MIMO/MU-MIMO/Beamforming
  • 在 Vim 编辑器中,如果某个单词被意外地高亮显示,使用:noh可以取消高亮显示
  • 2024年必备技能:小红书笔记评论自动采集,零基础也能学会的方法
  • 智能音箱的工作原理
  • 火山引擎VeDI数据技术分享:两个步骤,为Parquet降本提效
  • 项目比赛经验分享:如何抓住“黄金一分钟”
  • Android笔试面试题AI答之Activity(6)
  • 18万就能买华为智驾车,你当不了韭菜!
  • Excel基本操作(二)
  • 我当年自学黑客(网络安全)的一些心得!(内附学习笔记)
  • JAVA小白学习日记Day11
  • 研究生选择学习Android开发的利与弊?
  • 短视频矩阵系统搭建教程,源码获取,部署上线指南
  • Angular 2 DI - IoC DI - 1
  • AngularJS指令开发(1)——参数详解
  • CSS中外联样式表代表的含义
  • Js基础知识(一) - 变量
  • laravel with 查询列表限制条数
  • Lsb图片隐写
  • rc-form之最单纯情况
  • Redis 懒删除(lazy free)简史
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • webpack+react项目初体验——记录我的webpack环境配置
  • 将回调地狱按在地上摩擦的Promise
  • 来,膜拜下android roadmap,强大的执行力
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 在Unity中实现一个简单的消息管理器
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • Linux权限管理(week1_day5)--技术流ken
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # centos7下FFmpeg环境部署记录
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (3)STL算法之搜索
  • (4)(4.6) Triducer
  • (安卓)跳转应用市场APP详情页的方式
  • (二)构建dubbo分布式平台-平台功能导图
  • (二)原生js案例之数码时钟计时
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (论文阅读40-45)图像描述1
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十一)c52学习之旅-动态数码管
  • (原创)可支持最大高度的NestedScrollView
  • (自用)交互协议设计——protobuf序列化
  • ..回顾17,展望18
  • .gitattributes 文件
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core 和 .NET Framework 中的 MEF2