Vue3的新特性

包括:

  1. 更好的逻辑复用:Vue3引入了组合式API,通过组合函数来实现更加简洁高效的逻辑复用。这解决了选项式API中mixins的问题,使得代码更加简洁和易于维护。

  2. 更灵活的代码组织:Vue3的代码组织方式更加灵活,大部分代码自然地被放进了对应的选项里,这使得代码更加清晰易懂。

  3. 更好的类型推导:Vue3开始支持TypeScript,这使得开发者能够利用TypeScript的强类型推导功能,书写更健壮可靠的代码。这也让许多纯JavaScript用户也能从IDE中享受到部分类型推导功能。

  4. 更快、更小、更易维护:Vue3重构了虚拟DOM的写法,渲染速度提升。同时,使用Proxy代替Object.defineProperty,使得代码更小,更易维护。

  5. 移除事件API:在Vue3中,一些事件API如on, once等已经被移除,这也是为了简化代码,提高代码的可读性和可维护性。

总的来说,Vue3在保持原有优势的基础上,进行了一系列的改进,使得其更加易用、灵活和强大。

Vite

w=1019&h=500.jpg

Vite是下一代前端工具链,他以快为名,给广大开发者带来秒级的启动速度,可能是目前位置最快的打包工具。

相比较传统的webpack两者都有各自的优点和缺点,具体如下:

Vite的优点:

  1. 启动速度快:Vite采用分块打包和ES6模块语法,在开发过程中能够实现快速的热更新和实时预览。

  2. 按需编译:Vite在浏览器请求需要的模块时,再对模块进行编译,极大缩短了编译时间。

  3. 插件生态完善:Vite由Vue.js的作者开发,因此在使用Vue.js开发项目时,能够提供更好的支持。

Vite的缺点:

  1. 生产环境配置:Vite目前只提供了基本的生产环境打包功能,对于一些复杂的项目,可能需要自行配置。

  2. 对其他框架支持不够完善:虽然Vite对Vue.js支持非常好,但对其他框架的支持不够完善。

Webpack的优点:

  1. 生态丰富:Webpack的插件生态比较完善。

  2. 配置复杂:Webpack的配置文件比较全面,功能更强大。

Webpack的缺点:

  1. 打包速度慢:由于Webpack在启动时需要打包,所以启动速度比较慢。

  2. 热更新速度慢:相比Vite,Webpack的热更新速度比较慢。

Pinia

w=1000&h=500-gnzr.jpg

Pinia是Vue 3的状态管理库,它提供了一种简单、可靠和可扩展的方法来管理应用程序状态。Pinia与Vuex类似,也可以说是下一代的vuex。但是它采用了更现代的API和一些更好的实践。Pinia将状态分为两类:响应式状态和非响应式状态。响应式状态是指可以在Vue组件中使用的状态,而非响应式状态是指不应在Vue组件中使用的状态。这种分离使得Pinia可以更好地控制状态的变化。

Pinia最重要的升级之一就是取消了mutations,当actions中的方法需要更新state时,不需要再调用mutation,可以直接更新state。例如我们有一个state:a,他的原始值是1,我们现在要给他改成2,以下是vuex和pinia 的不同使用方法:

Vuex实例:

new Vuex.Store({
	state:{
		a:1
	},
	mutations:{
		setA_mutation(state,data)=>{
			state.a=data
		}
	},
	actions:{
		setA_action({ commit }){
			commit('setA_mutation', 2)
		}
	}
 
})

Pinia实例:

import { defineStore } from 'pinia';

export default defineStore('app', {
	state:{
		a:1
	},
	actions:{
		setA_action(){
			this.a=2
		}
	}
}

TypeScript

source=172ae18b.jpg

TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。

TypeScript是JavaScript的超集,具有可选的类型并可以编译为纯JavaScript。从技术上讲TypeScript就是具有静态类型的JavaScript。

TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。TypeScript添加了很多尚未正式发布的ECMAScript新特性(如装饰器)。2012年10月,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScript。当前最新正式版本为TypeScript 5.2,2023年8月发布。

TypeScript的优点:

  1. 增加代码可读性和可维护性:类型系统实际上是最好的文档,大部分的函数看看类型的定义就可以知道如何使用。

  2. 在编译阶段发现错误:增强了编辑器和IDE的功能,包括代码补全、接口提示、跳转到定义、重构等。

  3. 与JavaScript兼容:TypeScript是JavaScript的超集,.js文件可以直接重命名为.ts即可。

TypeScript的缺点:

  1. 学习成本:需要额外学习类型系统,以及如何使用TypeScript。

  2. 不适合小项目:小项目或者小团队没有必要使用TypeScript,他不会带来增效,反而会让开发更加繁琐。