Vue3/Vite2/TypeScript 练习

https://cn.vitejs.dev/guide/

  1. yarn create vite my-vue-app --template vue
  2. yarn create vite my-vue-app --template vue-ts

setup语法糖:
https://v3.cn.vuejs.org/api/sfc-script-setup.html#%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95

  1. <script setup>
  2. console.log('hello script setup')
  3. </script>

[

](https://v3.cn.vuejs.org/api/sfc-script-setup.html#%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95)

JSX

https://github.com/vuejs/jsx-next/blob/dev/packages/babel-plugin-jsx/README-zh_CN.md

Vue 用户应使用官方提供的 @vitejs/plugin-vue-jsx 插件,它提供了 Vue 3 特性的支持,包括 HMR,全局组件解析,指令和插槽。

  1. npm i @vitejs/plugin-vue-jsx -D
  1. //vite.config.js
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import vueJsx from "@vitejs/lugin-vue-jsx";
  5. export default defineConfig({
  6. plugins: [vue(), vueJsx()]
  7. })
  1. // Test.tsx
  2. import { defineComponent, ref } from 'vue'
  3. export default defineComponent({
  4. setup() {
  5. const count = ref(2);
  6. return { count }
  7. },
  8. render() {
  9. return <div>hello world{this.count}</div>
  10. }
  11. })

可以使用render(函数返回 jsx(推荐),也可以直接在setup()直接返回

参考:

在Vue中使用JSX的正确姿势(有福利)