Vite 使用TSX/JSX
安装
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
不需要template
。script
上加lang='tsx'
// index.vue
<script lang='tsx'>
import {definedComponents} from 'vue'
export default definedComponents({setup(props){return ()=>(<div>Hello,World</div>)}
})
</script>
文档
jsx语法See
https://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相关推荐
- 手摸手教你vite + vue3 + tsx 项目打包后动态路由无法加载页面问题
今天在部署项目到服务器后,发现动态路由失效,测试开发环境时路由都可以正常跳转,生产环境控制台报错: 原代码如下: 查看了官方文档,并没有找到合适的方案,后百度查看了一些解决方案,但都没有解决实际问题, ...
- vue3 + vite + ts + setup , 第七练 TSX的使用
在Vue2 中我们可以使用jsx 但是好像不是很友好,也很少用,vue3对typescript的支持度,tsx写法越来越被接受,那么我们也了解一下TSX如何使用,学习学习 一.安装配置 1.安装插件p ...
- Vue3+Vite项目配置Eslint+Prettier+Husky+Lint-Staged+Commitlint
Eslint 配置 ESLint 是一个插件化并且可配置的 JavaScript 语法规则和代码风格的检查工具. ESLint 能够帮你轻松写出高质量的 JavaScript 代码. 1.建议 vsc ...
- 【几乎最全/全网最长的 2 万 字】前端工程化完整流程:从头搭到尾(vue3 + vite + qiankun + docker + tailwindcss + iview......)
文章目录 一.完整构建流程 1.在指定目录下执行 pnpm init,初始化 package.json 2.执行 pnpm install vite -D,安装 vite. 3.package.jso ...
- Vite Server 是如何处理页面资源的?
我们知道,Vite 在开发环境下,会打开一个 Dev Server 用于预览开发的页面,那么这个 Dev Server 到底做了什么呢?它是怎么做到将我们的代码展示成页面的,接下来我们就来一探究竟. ...
- vue3+vite+jest配置 单元测试总结
一.配置 从0接触单元测试,真的是安装环境,运行demo就折磨了好久,主要是各种版本库的依赖关系,所以安装的时候一定一定要注意安装对应的版本: 我的版本情况 vue@3.2.2 vite@2.5.0 ...
- 【前端工程化】深入浅出vite(二)--vue3全家桶+ts构建后管系统
安装基础包 npm create vite@latest # 这里选择的是Vue+Typescript的组合 cd vue-admin npm install# 先安装基础包 npm install ...
- 一个基于vue3+vite+ts的完整项目
VUE VBEN ADMIN2.0 介绍 vue-vben-admin-2.0 是一个全新的开源系统,基于ant-design-vue2.x,typescript4,vue3,vite实现的 vue3 ...
- 什么是Vite:现代和超快速项目工具指南---下一代前端工具
Vite 是一款用于脚手架和捆绑项目的现代.超快速工具,由于近乎即时的代码编译和快速的热模块更换,它迅速变得流行起来.在本文中,您将了解Vite是什么以及如何使用它来构建新项目,等等. 今天创建新项目 ...
- Webpack 打包太慢?来试试 Bundleless
简介:Webpack 将各个资源打包整合在一起形成 bundle,当资源越来越多时,打包的过程也将越来越慢.如果我们不需要打包呢?让浏览器直接加载对应的资源,是否就可以实现质的提升?本文分享基于浏览器 ...
最新文章
- SAP MM 物料主数据Plant Data Storage 1视图里的Storage Bin
- HDFS伪分布式环境搭建
- 技术人的灵魂 3 问,阿里工程师如何解答?
- CodeForces - 1368E Ski Accidents(拓扑排序)
- 一文说透架构设计的本质
- Food Buying(CF-1296B)
- Apache的Mod_rewrite学习(RewriteRule重写规则的语法)
- CentOS 7安装配置Samba
- python 读取wifi数据_通过Python实现WiFi测试数据分析
- 5.这就是搜索引擎:核心技术详解 --- 检索模型与搜索排序
- maven没有servlet(创建servlet后报错)
- SLAM--求解2D-2D图像间的运动
- 土壤修复废水除镍技术,除镍树脂材料
- Python全栈开发实战学习14
- Varscan2 Call snp_indel
- Perl_Tkx_Canvas绘图功能函数介绍
- Mysql数据库安装使用教程05:mysql启动停止服务+数据库及表的相关基础操作
- macbook自带python保存文件夹_在mac下查找python包存放路径site-packages的实现方法 在Mac系统下python如何安装第三方函数库?...
- 微信小程序云开发 把时间戳转换成正常的时间格式上传到数据库中
- HDU 4147 KFC -Z+W
热门文章
- 领英常见问题—如何提高邀请通过率与账号曝光量
- 【0514 更新中】CVPR 2019 论文汇总 按方向划分
- Git _ 报错信息
- 揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第3部分...
- 理解ASP.NET Core - 发送Http请求(HttpClient)
- upnp是不是虚拟服务器,360路由器虚拟服务器设置(360路由器开启upnp功能)
- hexo博客yilia-puls主题使用aplayer音乐插件
- linux 百度云 备份软件下载,Linux 安装百度云,自动备份服务器资料
- [C++]牛客 WY11 星际穿越
- cesium--entity