安装

yarn add @vitejs/plugin-vue-jsx

or

npm install @vitejs/plugin-vue-jsx -D

配置

vite.config.ts 文件中挂载

import vueJsx from '@vitejs/plugin-vue-jsx'
export default defineConfig({plugins: [ vueJsx()]
})

tsconfig.json 文件中

{// include 需要包含tsx
"include": ["src/*", "src/**/*.vue", "src/**/*.tsx", "src/**/*.jsx", "src/**/*.ts", "src/**/*.js"],"compilerOptions": {// 在.tsx文件里支持JSX"jsx": "preserve",}
}

使用

新建**.tsx

// index.tsx
export default definedComponents({setup(props){return ()=>(<div>Hello,World</div>)}
})

新建**.vue

不需要templatescript上加lang='tsx'

// index.vue
<script lang='tsx'>
import {definedComponents} from 'vue'
export default definedComponents({setup(props){return ()=>(<div>Hello,World</div>)}
})
</script>

文档

jsx语法Seehttps://github.com/vuejs/jsx-next#babel-plugin-jsx-for-vue-30

探坑

jsx/tsx中循环出来的标签元素上有点击事件的话 会自动调用事件

// 例如
export default definedComponents({import {definedComponents} from 'vue'setup(props){// 会被调用3次const click = (val)=>{consloe.log(val)// 112// 112// 112}return ()=>(<>{[1,2,3].map((item,index)=>{return (// 而且 这样写拿不到原生事件 event<div onClick={click('112')}><>)})}</>)}
})

正确应该是onClick={(e)=>{click(e,'112')}}这样也可以拿到原生事件

// jsx/tsx中循环出来的标签元素上有点击事件的话 会自动调用事件
// 例如
export default definedComponents({setup(props){// 只有点击时执行const click = (e,val)=>{consloe.log(e,val)}return ()=>(<>{[1,2,3].map((item,index)=>{return (<div onClick={(e)=>{click(e,'112')}}><>)})}</>)}
})

jsx中 使用 transition

import {Transition,ref} from 'vue'
export default definedComponents({setup(props){// 只有点击时执行const a = ref(false)return ()=>(<><Transition><div v-show={a}></div></Transition>)}
})

Vite 使用TSX/JSX相关推荐

  1. 手摸手教你vite + vue3 + tsx 项目打包后动态路由无法加载页面问题

    今天在部署项目到服务器后,发现动态路由失效,测试开发环境时路由都可以正常跳转,生产环境控制台报错: 原代码如下: 查看了官方文档,并没有找到合适的方案,后百度查看了一些解决方案,但都没有解决实际问题, ...

  2. vue3 + vite + ts + setup , 第七练 TSX的使用

    在Vue2 中我们可以使用jsx 但是好像不是很友好,也很少用,vue3对typescript的支持度,tsx写法越来越被接受,那么我们也了解一下TSX如何使用,学习学习 一.安装配置 1.安装插件p ...

  3. Vue3+Vite项目配置Eslint+Prettier+Husky+Lint-Staged+Commitlint

    Eslint 配置 ESLint 是一个插件化并且可配置的 JavaScript 语法规则和代码风格的检查工具. ESLint 能够帮你轻松写出高质量的 JavaScript 代码. 1.建议 vsc ...

  4. 【几乎最全/全网最长的 2 万 字】前端工程化完整流程:从头搭到尾(vue3 + vite + qiankun + docker + tailwindcss + iview......)

    文章目录 一.完整构建流程 1.在指定目录下执行 pnpm init,初始化 package.json 2.执行 pnpm install vite -D,安装 vite. 3.package.jso ...

  5. Vite Server 是如何处理页面资源的?

    我们知道,Vite 在开发环境下,会打开一个 Dev Server 用于预览开发的页面,那么这个 Dev Server 到底做了什么呢?它是怎么做到将我们的代码展示成页面的,接下来我们就来一探究竟. ...

  6. vue3+vite+jest配置 单元测试总结

    一.配置 从0接触单元测试,真的是安装环境,运行demo就折磨了好久,主要是各种版本库的依赖关系,所以安装的时候一定一定要注意安装对应的版本: 我的版本情况 vue@3.2.2 vite@2.5.0 ...

  7. 【前端工程化】深入浅出vite(二)--vue3全家桶+ts构建后管系统

    安装基础包 npm create vite@latest # 这里选择的是Vue+Typescript的组合 cd vue-admin npm install# 先安装基础包 npm install ...

  8. 一个基于vue3+vite+ts的完整项目

    VUE VBEN ADMIN2.0 介绍 vue-vben-admin-2.0 是一个全新的开源系统,基于ant-design-vue2.x,typescript4,vue3,vite实现的 vue3 ...

  9. 什么是Vite:现代和超快速项目工具指南---下一代前端工具

    Vite 是一款用于脚手架和捆绑项目的现代.超快速工具,由于近乎即时的代码编译和快速的热模块更换,它迅速变得流行起来.在本文中,您将了解Vite是什么以及如何使用它来构建新项目,等等. 今天创建新项目 ...

  10. Webpack 打包太慢?来试试 Bundleless

    简介:Webpack 将各个资源打包整合在一起形成 bundle,当资源越来越多时,打包的过程也将越来越慢.如果我们不需要打包呢?让浏览器直接加载对应的资源,是否就可以实现质的提升?本文分享基于浏览器 ...

最新文章

  1. SAP MM 物料主数据Plant Data Storage 1视图里的Storage Bin
  2. HDFS伪分布式环境搭建
  3. 技术人的灵魂 3 问,阿里工程师如何解答?
  4. CodeForces - 1368E Ski Accidents(拓扑排序)
  5. 一文说透架构设计的本质
  6. Food Buying(CF-1296B)
  7. Apache的Mod_rewrite学习(RewriteRule重写规则的语法)
  8. CentOS 7安装配置Samba
  9. python 读取wifi数据_通过Python实现WiFi测试数据分析
  10. 5.这就是搜索引擎:核心技术详解 --- 检索模型与搜索排序
  11. maven没有servlet(创建servlet后报错)
  12. SLAM--求解2D-2D图像间的运动
  13. 土壤修复废水除镍技术,除镍树脂材料
  14. Python全栈开发实战学习14
  15. Varscan2 Call snp_indel
  16. Perl_Tkx_Canvas绘图功能函数介绍
  17. Mysql数据库安装使用教程05:mysql启动停止服务+数据库及表的相关基础操作
  18. macbook自带python保存文件夹_在mac下查找python包存放路径site-packages的实现方法 在Mac系统下python如何安装第三方函数库?...
  19. 微信小程序云开发 把时间戳转换成正常的时间格式上传到数据库中
  20. HDU 4147 KFC -Z+W

热门文章

  1. 领英常见问题—如何提高邀请通过率与账号曝光量
  2. 【0514 更新中】CVPR 2019 论文汇总 按方向划分
  3. Git _ 报错信息
  4. 揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第3部分...
  5. 理解ASP.NET Core - 发送Http请求(HttpClient)
  6. upnp是不是虚拟服务器,360路由器虚拟服务器设置(360路由器开启upnp功能)
  7. hexo博客yilia-puls主题使用aplayer音乐插件
  8. linux 百度云 备份软件下载,Linux 安装百度云,自动备份服务器资料
  9. [C++]牛客 WY11 星际穿越
  10. cesium--entity