vite+vue3 script setup语法糖

学习之前我们需要先了解vite是什么?移步官网:Vite 官方中文文档

vite是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:

Vite 意在提供开箱即用的配置,同时它的 插件 API 和 JavaScript API 带来了高度的可扩展性,并有完整的类型支持

1、首先我们使用vite工具构建一个vue3的项目

npm init vite@latest <ProjectName> -- --template vue

值得注意的是,如果你得npm版本小于7x,<ProjectName>后面只需要两个双横线,即:

npm init vite@latest <ProjectName> --template vue

如果需要ts开发,构建命令后面的vue可写成vue-ts,即:

npm init vite@latest <ProjectName> -- --template vue-ts

yarn命令

yarn create vite <ProjectName> --template vue

或者我们可以在构建项目的时候在终端选择我们需要构建的项目类型即可:

项目构建成功后,依次执行,启动项目:

cd <ProjectName>
npm i || yarn i
npm run dev || yarn serve

你会惊奇的发现,启动本地服务的速度简直就是秒起,速度快到飞起,相比webpack来说,差距就拉开了,这也是我推荐使用vite构建项目的一个原因。

项目目录跟我们之前vue create的目录差不多,功能也都基本一致,我们主要说一说如何基于script 的setup语法糖更快速方便的开发项目。

2、值得注意的变化

  • a、components组件不在需要注册即可直接使用,在 script-setup 中导入任意的组件就可以直接在template中使用
<template>
  <p>{{title}}</p>
  <HelloWorld msg="Hello Vue 3 + Vite"/>
</template>
<script setup>
  import HelloWorld from "./components/HelloWorld.vue"
</script>

b、组件直接props传值使用defineProps代替,并且可以直接不用结构即可使用

<script setup>
  // props
  const props = defineProps({
    msg: String,
  })
</script>

c、emit向父组件传递方法可以使用defineEmits代理,具体使用方法;

const emit = defineEmits(["myclick1","myclick2"])
const btnClick = ()=>{
   emit("myclick1",需要传入的参数任意类型值)
}
d、还有slots、attrs我们可以直接使用useContext
import {useContext} from "vue"
cont {alots,attrs} = useContext()

e、当然我们也可以抽离为单独的文件来管理某个复杂功能或逻辑的组件,使得开发、预览、调试更加方便,需要注意的是,在setup语法糖中没有this的概念,我们需要从vue2中data那种方式转变过来。一般来说,值得注意的就是这几个点

<script setup>
  import { ref, defineEmits, reactive, toRefs} from "vue"
  // props
  const props = defineProps({
    msg: String,
  })
  // emits
  const emit = defineEmits([])
  // 响应式变量
  const count = ref(0)
  // state-响应式公共数据,类似之前的data
  const state = reactive({
    title:"测试"
  })

  // 事件处理区
  const btnClick = ()=>{
    emit("upClick",state.title)
  }
  // 解构state
  const {title} = toRefs(state)
</script>

3、如果大家对Composition API还不了解的话,建议大家移步去官网先了解下vue3升级的重大改动

官网:介绍 | Vue.js

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只熊的北极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值