进入vue3

vue3的简介:发布时间:2020.9

                  开发时间:耗时2年多

                  作者:尤雨溪


对于vue2版本的提升

一、性能提升

  1. 打包大小减少41%
  2. 初次渲染快51%,更新渲染快133%
  3. 内存占用减少54%

二、源码升级

  1. 使用Proxy 代替Object.defineProperty 实现双向数据绑定
  2. 重写虚拟DOM的实现和Tree-Shaking
  3. vue3 更好的支持typescript

三、新的特性

 1.组合式api方式

        setup配置、ref和reactive、watch和watchEffect、provide和inject

2.新的内置组件

 Fragment、Teleport、Suspense

注:其他的改变新的生命周期钩子,移除KeyCode作为v-on的修饰符

对于vue3项目的新建

在创建vue3项目前要先检查自己的脚手架版本配置:

1.确保vue-cli 脚手架的版本在4.5.0版本以上,这样才能创建vue3项目工程。(查看自己的脚手架版本:vue -V 或 vue - - version


2.版本过低的情况下可以使用npm install -g @vue/cli进行新版本的安装

创建项目:vue create 文件名称

进入项目文件夹 : cd 文件名称

启动项目:npm run serve

在创建项目时可以依据自己的需求进行配置

最后一个为手动选择功能可根据需求来选择自己项目中涵盖的东西

初入vue3(一)_html

初入vue3(一)_App_02


1.入口文件与vue2进行对比:

vue3中的main.js

// vue3 入口文件 main.js

// 引入的不是Vue构造函数了,而是createApp 这个工厂函数(工厂函数就是返回值为一个对象的函数)

import { createApp } from 'vue'  

import App from './App.vue'  

const app = createApp(App).mount('#app') // app 相当于vue2中的vm,但是比vm轻,里面绑定的属性和方法更少,而不是像vm那样用的不用的都绑上,显的有点重


vue2中的main.js

importVuefrom'vue'

importAppfrom'./App.vue'

const vm =newVue({

render:h=>h(App),

}).$mount('#app'


对比:

//vue3 引入的是createApp 这个函数,而不是vue2中的的 Vue 构造函数啦。


//vue3中的 app 类似于之前vue2中的vm, 但是app应用实例对象比vm 更轻,里面绑定的属性和方法更少


在app组件标签中在vue2中在组件的html中要使用根组件把元素套起来。

在vue3中可以不使用根组件。

组合式api--- setup函数

vite对于webpack的提升

1.新的工程创建工具能够更加轻量的热加载,实现更快的服务启动

2.对于ts等拥有更好的支持能够做到开箱即用

3.按需编译不再等待应用编译完成

使用vite创建项目

npm create vue@latest

入口文件为index.html

在index.html中重要的东西

1.引入main.ts

2.展示的位置

在main.ts中有createApp(App).mount(#app)

在src中两个重要的东西

1.main.ts

2.app.vue

//在main.ts中解释

//引入createApp用于创建应用

import {createApp} from "vue"

引入App根组件

import App from “./App.vue”

如果飘红那证明在app.vue中没东西

在组件中基本结构

就是template

script如果出现下划线证明要写ts但在工程中依旧可以使用js在里面脸上lang="ts"

style

//挂载

createApp (App).mount("#app")

总结:1.在vite项目中,index.html是项目入口文件,在项目的最外层

2.加载index.html后,vite解析<script type="module" src="xxx"指向的js

3.vue3中是通过createApp函数创建一个实例