Vue 3.2 正式发布,尤雨溪:<script setup> + TS + Volar = 真香

今日凌晨,尤雨溪宣布 Vue 3.2 正式发布(代号”Quintessential Quintuplets”),此版本增加了许多重要的新特性和性能改进,且不包含破坏性变更。

Vue 3.2 正式发布,尤雨溪:<script setup> + TS + Volar = 真香

单文件组件 (SFC) 的新特性

单文件组件(SFC,又称作.vue 文件)的两项实验特性已毕业,现已提供稳定版本:

  • <script setup>属于编译时 (compile-time) 语法糖,可显著提升在 SFC 中使用 Composition API 时的开发效率

  • <style> v-bind 用于在 SFC <style> 标签中启用组件状态驱动的动态 CSS 值

使用示例

<script setup>
import { ref } from 'vue'

const color = ref('red')
</script>

<template>
  <button @click="color = color === 'red' ? 'green' : 'red'">
    Color is: {{ color }}
  </button>
</template>

<style scoped>
button {
  color: v-bind(color);
}
</style>

在线体验:SFC Playground。相关文档:

对于<script setup>特性,尤雨溪表示,“<script setup> + TS + Volar = 真香”。

Vue 3.2 正式发布,尤雨溪:<script setup> + TS + Volar = 真香

Web 组件

Vue 3.2 引入了新的defineCustomElement方法,支持使用 Vue 组件 API 轻松创建原生自定义元素

import { defineCustomElement } from 'vue'

const MyVueElement = defineCustomElement({
  // normal Vue component options here
})

// Register the custom element.
// After registration, all `<my-vue-element>` tags
// on the page will be upgraded.
customElements.define('my-vue-element', MyVueElement)

性能改进

Vue 3.2 针对响应式系统进行了重要的性能优化:

以及优化模板编译器的性能:

最后,新增的v-memo指令提供了针对部分模板树进行 memoize 的能力,并显著提升了性能。

Vue 3.2 正式发布,尤雨溪:<script setup> + TS + Volar = 真香

服务器端渲染

Vue 3.2 的@vue/server-renderer包现已提供 ES module build,并与 Node.js 的内置模块解耦。因此,开发者可在非 Node.js runtime 中(例如 CloudFlare Workers 和 Service Workers)绑定和使用@vue/server-renderer

此版本还改进了流式渲染 API,为 Web Streams API 的渲染提供了新方法。详情查看@vue/server-renderer文档。

更多内容查看发布公告

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/74703.html

(0)
上一篇 2021年8月12日 01:58
下一篇 2021年8月12日 01:58

相关推荐

发表回复

登录后才能评论