性能的提升
-
打包大小减少41%
-
初次渲染快55%, 更新渲染快133%
-
内存减少54%
源码升级
-
使用
Proxy
代替defineProperty
实现响应式 -
重写虚拟
DOM
的实现和Tree-Shaking
适用
TypeScript
- Vue3可以更好的支持
TypeScript
新特性
-
Composition API(组合API)
setup
配置ref
与reactive
watch
与watchEffect
provide
与inject
-
新内置组件
Fragment
Teleport
Suspense
-
其他的改变
- 新的生命周期钩子
data
选项应始终被声明为一个函数- 移除
keyCode
支持作为v-on
的修饰符
文件改进
main.js
// 引入的不再是Vue构造函数了,引入的是一个名为createApp的工厂函数
import { createApp } from 'vue'
import App from './App.vue'
// 创建应用实例对象——app(类似于之前Vue2中的vm,但app比vm更“轻”)
const app = createApp(App)
console.log(app)
// 挂载
app.mount('#app')
App.vue
<template>
<!-- Vue3组件中的模板结构可以没有根标签 -->
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</template>