如何开发一款基于vite+vue3的在线表格系统(上)

葡萄城技术团队 葡萄城技术团队     2022-12-01     311

关键词:

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。
在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。

Vue3

Vue是什么?大多前端开发者对这个词已毫不陌生了。三大框架孰优孰劣,众多开发者各抒己见,其中Vue以其“最简单、最易上手“的名号迅速积累了一大批粉丝,被广泛学习应用。
同Angular、React框架一样,Vue也是MVVM类型的框架,即数据驱动视图,在开发时我们只需要关注数据的变化即可。不同的是,Vue是一个更轻量级的框架,被设计为自底向上逐层应用,其核心库只聚焦于视图层, 通过尽可能简单的API实现了响应式数据绑定以及组合的视图组件。
Vue已经如此优秀,为什么还需要Vue3呢?

这就要提到它的不足之处了,在之前的Vue2中,使用的是选项型API(Options API),将代码分割为不同的属性:data、computed、methods 等,这些方法属性各司其职。
选项型API固然好学易上手,与此同时也带来了一个关键问题:代码混乱,可读性差。
举个例子,现在我们想做一个列表视图功能,那么需要在data中写上相关的变量,在methods中将相关的逻辑判断和后端交互也加上。这个时候,新需求来了:添加上搜索和筛选功能。没有问题,继续将新的变量堆积在data中,将新的方法整理在methods中……写代码一时爽,后期维护的程序员傻眼了,这一堆堆的方法,到底在讲个啥。
既然Vue2这个弊端已经暴露出来了,自然要在它的升级版尝试解决了。所以Vue3推出了组合式API(Composition API),正是为了解决原本Vue2项目中代码逻辑分散、不易理解和维护的问题。它使用方法(function)进行代码分割,使代码更为简洁易读。
既然做了,其他方面也不能落下啊!在性能上面,Vue3也对diff算法进行了优化:
在Vue2中,每当数据发生变化,就会生成一个新的DOM树,并新DOM树与旧的DOM树进行对比,来判断节点异同,并进行更新。但完整遍历过程需要将两棵树所有节点进行比较,但实际情况中并不是所有节点内容都会变化,这就造成了性能的浪费。
Vue3新增了静态标记,仅对标记了的节点进行对比并进一步更新,无需再遍历整个节点,实现了性能提升。
对比Vue2,官方文档对Vue性能有具体的数据介绍:SSR速度提高了23倍;Update性能提高1.32倍。(程序员看到后更有信心学习了!)

除此之外,Vue项目中也有众多API和模块,但在实际项目中我们并不会用到所有的内容,Vue3对此推出按需打包模块,可以大幅压缩打包后的内容体积。
根据官网对比示例,Vue2中如果仅写了Hello Word,未用到任何模块API,打包后大小约为32KB;而Vue3同理,打包后大小约为13.5KB,可以明显看出升级后的Vue3相较于Vue2打包体积大幅减小。
与Vue2相比,Vue3中生命周期函数也发生了变更,总结如下:

有需要的同学可以截图保存,以备不时之需。

说完了Vue3,接下来我们来看看Vite又有什么亮眼之处。

Vite

在Vue3正式发布之前,尤雨溪就提到做了一个新的前端构建工具-Vite。其本人更是对Vite青睐有加,引得Webpack开发者直喊大哥。
Vite究竟有什么样的神奇作用呢?它做到了本地快速开发启动:

  1. 不需要等待打包操作,快速冷启动
  2. 即时的模块热更新
  3. 无需等待整个项目编译完成,做到真正的按需编译
    在使用Webpack时,会经历分析依赖 => 编译打包 => 交给开发服务器渲染 整个过程。也就是说,需要先打包,之后将打包结果提供给服务器进行加载。而随着模块的不断增多,打包的体积会越来越大,造成热更新速度明显拖慢。
    而Vite直接略过了打包步骤,直接启动开发服务器,在请求具体的模块时再对该模块进行实时编译,大大提高了启动速度。

到这里我们已经详细为大家介绍了Vue3升级的亮眼功能和Vite的优势,在下部分中我们会以项目实例出发,为大家介绍如何如何开发一款基于 Vite+Vue3 的在线表格系统。
感兴趣的小伙伴们不要错过~

如何开发一款基于vite+vue3的在线表格系统(下)(代码片段)

在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容。在本篇中我们将从项目实战出发带大家了解Vite+Vue3的在线表格系统的构建。使用Vite初始化Vue3项目在这里需要注意:根据官网文档说明,使用Vite需要node版... 查看详情

如何开发一款基于vite+vue3的在线表格系统(下)(代码片段)

在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容。在本篇中我们将从项目实战出发带大家了解Vite+Vue3的在线表格系统的构建。使用Vite初始化Vue3项目在这里需要注意:根据官网文档说明,使用Vite需要node版... 查看详情

如何开发一款基于vite+vue3的在线excel表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue32020年09月18日Vue.js3.0发布,经历了两年时间的对细节的不断优化与调整,终... 查看详情

如何开发一款基于vite+vue3的在线excel表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue32020年09月18日Vue.js3.0发布,经历了两年时间的对细节的不断优化与调整,终... 查看详情

如何开发一款在线excel表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue32020年09月18日Vue.js3.0发布,经历了两年时间的对细节的不断优化与调整,终于在今年2月正式成... 查看详情

基于vite+react构建在线excel(代码片段)

...一起发布的一款新型前端构建工具,能够显著的提升前端开发体验,它主要由两部分组成:(1)一个开发服务器,它基于原生**ES模块提供了丰富的内建功能,如速度快到惊人的模块热更新(****HMR)。(2)一套构建指令,它使... 查看详情

基于vite+react构建在线excel(代码片段)

...发布的一款新型前端构建工具,能够显著的提升前端开发体验,它主要由两部分组成:(1)一个开发服务器,它基于**原生ES模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。&... 查看详情

基于vite+react构建在线excel(代码片段)

...发布的一款新型前端构建工具,能够显著的提升前端开发体验,它主要由两部分组成:(1)一个开发服务器,它基于**原生ES模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。&... 查看详情

vite-admin后台管理系统|vite4+vue3+pinia前端后台框架实例(代码片段)

...时间分享了一篇vue3自研pc端UI组件库VEPlus。这次带来最新开发的基于vite4+vue3+pinia技术栈搭配ve-plus组件库构建的中后台权限管理系统框架。支持vue-i18n国际化多语言、动态路由鉴权、4种布局模板及tab页面缓存等功能。技术栈编码... 查看详情

基于最新vite+vue3+vantui移动端应用项目搭建(代码片段)

Vite是vue的作者尤雨溪在开发vue3.0的时候开发的一个基于原生ES-Module的前端构建工具。其本人在后来对vue3的宣传中对自己的新作品Vite赞不绝口,并表示自己”再也回不去webpack了“。这里记录下使用最新的Vite+vue3和有赞出... 查看详情

vue3组件开发:搭建基于spreadjs的表格编辑系统(环境搭建)(代码片段)

Vue是一套用于构建用户界面的渐进式框架,与其它大型JS框架不同,Vue被设计为可以自底向上逐层应用,更易上手,还便于与第三方库或既有项目整合,因此,Vue完全能够为复杂的单页应用提供驱动。2020年09月18日,Vue.js3.0正式... 查看详情

vue3项目搭建教程(基于create-vue,vite,vite+vue)(代码片段)

...版本。详细教程可参阅下面链接文章:Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)https://blog.csdn.net/weixin_69553582/article/details/129584587二、通过create 查看详情

一款清新优雅的中后台模版,内置丰富可配置的主题(强烈推荐)

...参考。特性最新技术栈:使用Vue3/vite2等前端前沿技术开发,使用高效率的npm包管理器pnpmTypeScript:应用程序级JavaScript的语言主题:丰富可配置的主题、暗黑模式,基于原子css框架-UnoCss的动态主题颜色代码规范:丰富... 查看详情

vite开发快速入门

...的一个更轻、更快的前端构建工具,能够显著提升前端的开发体验。除了Vite外,前端著名的构建工具还有Webpack和Gulp。目前,Vite已经发布了Vite2,Vite全新的插件架构、丝滑的开发体验,可以和Vue3的完美结合。1.1Vite组成Vite构建... 查看详情

vue3+vite本地开发配置proxy(代码片段)

...te(官方的自然是最好的),那么在vite中应该如何配置后端的路由转发呢?        上网找了一大圈,大部分都是说,在vite.config.js里面直接配置proxy即可。    例如:误人子弟1        但实际... 查看详情

uniapp对于vue3语法支持不太好

...升级,是一个渐进式过程:2020年9月:小程序平台支持vue3开发,小程序平台编译器依然使用webpack;2021年5月:H5平台支持vue3开发,H5平台编译器升级为Vite;2021年8月:App平台支持vue3开发,App平台编译器升级为Vite;2021年11月:小... 查看详情

vue3+vite本地开发配置proxy(代码片段)

...已经面世一段时间了,所以这次就打算基于Vue3来进行开发前端。因为项目也比较赶,所以就没有完整熟读Vue3的文档,而是一来就上手,用脚手架先开一个项目,有什么不懂的,再查。这不,准备和后... 查看详情

vue3+vite本地开发配置proxy(代码片段)

...已经面世一段时间了,所以这次就打算基于Vue3来进行开发前端。因为项目也比较赶,所以就没有完整熟读Vue3的文档,而是一来就上手,用脚手架先开一个项目,有什么不懂的,再查。这不,准备和后... 查看详情