当前位置: 首页 > Web前端 > HTML

如何基于Vite+Vue3开发一个在线表单系统(上)

时间:2023-03-29 12:36:55 HTML

今天葡萄就给大家介绍如何基于Vite+Vue3实现一个纯前端的在线表单系统。在正式开始项目介绍之前,我们先介绍一下Vite和Vue3。什么是Vue3Vue?大多数前端开发人员对这个术语并不陌生。很多开发者对这三个框架哪个更好发表了自己的看法。其中,Vue以其“最简单易用”的名号迅速积累了大量的粉丝,并得到了广泛的学习和应用。与Angular和React框架一样,Vue也是一个MVVM类型的框架,即数据驱动的视图。我们只需要在开发过程中关注数据变化即可。不同的是,Vue是一个更轻量级的框架,旨在自下而上逐层应用。其核心库只关注视图层,通过最简单的API实现响应式数据绑定和组合视图。成分。Vue已经这么好了,为什么还要Vue3?这就要提到它的缺点了。在之前的Vue2中,使用了选项API(OptionsAPI)将代码划分为不同的属性:data、computed、methods等,这些method属性有各自的functionsjob。期权API易学易用,但也带来了一个关键问题:代码混乱,可读性差。比如现在我们要做一个列表视图的功能,那么就需要在data中写相关的变量,在方法中添加相关的逻辑判断和后端交互。这时,一个新的需求来了:增加搜索和过滤功能。没问题,继续在数据里积累新的变量,在方法里组织新的方法……写代码一时爽,后面维护的程序员傻眼了。这些一堆的方法在说什么?既然Vue2的劣势已经暴露,自然要在其升级版中尝试解决。因此,Vue3推出了组合API(CompositionAPI),正是为了解决原有Vue2项目中代码逻辑分散,难以理解和维护的问题。它使用方法(函数)进行代码拆分,使代码更加简洁易读。既然做了,其他方面也不能落下!在性能方面,Vue3还优化了diff算法:在Vue2中,每当数据发生变化时,就会生成一棵新的DOM树,并将新的DOM树与旧的DOM树进行比较,判断节点的异同,并更新。但是,完整的遍历过程需要比较两棵树的所有节点,但在实际情况下,并不是所有的节点内容都会发生变化,造成了性能上的浪费。Vue3增加了静态标签,只比较和更新标记的节点,而不遍历整个节点,提高了性能。与Vue2相比,官方文档对Vue性能有具体的数据介绍:SSR速度提升2~3倍;更新性能提升1.3~2倍。(程序员看了以后学起来更有信心了!)另外,Vue项目中有很多API和模块,但我们在实际项目中不会全部用到。Vue3为此推出了按需打包模块,可以大大压缩打包后的内容体积。根据官网的对比例子,如果只用Vue2写HelloWord,不使用模块API,打包后大小约为32KB;和Vue3一样,打包后大小约为13.5KB。可以明显看出,升级后的Vue3与Vue2相比,封装体积大大减少。与Vue2相比,Vue3中的生命周期功能也发生了变化,总结如下:需要的同学可以保存截图以备不时之需。说完Vue3,我们再来看看Vite有什么突出之处。在Vue3正式发布之前,游禹锡提到自己做了一个新的前端构建工具——Vite。他本人非常喜欢Vite,让Webpack开发者称他为老大哥。Vite有什么神奇的功效?实现本地快速开发启动:无需等待打包操作,无需等待整个项目编译完成即可快速冷启动和即时模块热更新,真正的按需编译。使用Webpack时会经历解析依赖=>编译打包=>交给开发服务器渲染的整个过程。也就是说需要先打包,然后将打包后的结果提供给服务端加载。随着模块数量的不断增加,包的体积会越来越大,导致热更新速度明显变慢。而Vite直接跳过打包步骤,直接启动开发服务器,然后在请求特定模块时实时编译模块,大大提高了启动速度。至此,我们已经详细介绍了Vue3升级的亮点功能和Vite的优势。下一部分,我们将从一个项目实例入手,介绍如何基于Vite+Vue3开发一个在线表单系统。感兴趣的朋友不要错过哦~