为什么要用vite,用vite的原因是什么

2023-09-22 15:27:53

为什么选 Vite | Vite 官方中文文档 (vitejs.dev)

  1. 在很久以前,javascript是没有模块化的,就是一个整体,所以为了将文件分成很小的模块文件,才出现“打包”这个概念
  2. 之前的拆分工具像webpack,rollup等,因为项目越来越大,需要很长时间才能启动开发服务器,热替换的作用也不太明显,需要很长时间才会显示修改的内容,影响了开发者的体验

为了解决拆分成很小的模块文件

为了解决不花很长时间启动开发服务器

因此,es6出现了javacscript的模块化,可以不借助webpack这些打包工具,也能实现将整个文件拆分成一个又一个很小的模块文件。


vite将项目中的代码分为依赖代码和源代码

依赖代码就是项目依赖的第3方库,第3方插件

源代码就是项目中自己写的业务代码


vite在最开始的时候,将依赖代码和源代码区分出来后,就用esbuild将依赖的代码就是第3方插件库重新进行一次打包,这就是依赖预先构建


vite使用了es6的模块化来获取源代码就是自己写的代码,这让浏览器也参与了进来。

同时vite也使用浏览器的http请求头,来加速页面的重新加载,源代码在请求的时候,判断304状态,进行协商缓存。依赖代码在请求的时候,会使用浏览器的cache-control进行强缓存,一旦依赖的代码缓存下来,就不再第2次发请求。

上面使用http的协商缓存和强缓存,让浏览器再次参与进来,为我们做了很多事情

更多推荐

Gof23设计模式之状态模式

1.概述【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能进行开门操作,而如果电梯门是停止状态,就可以执行开门操作。publicinterfaceILift{//电梯的4个状态//开门状态pu

微信小程序——常用组件的属性介绍

常用的组件内容标签text文本组件类似于HTML中的span标签,是一个行内元素rich-text富文本标签支持把HTML字符串渲染为WXML结构text标签的基本使用通过text组件的selectable属性,实现长按选中文本内容的效果。只有text标签支持长按选中效果,其他的组件是不支持的结构内容代码:<viewc

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(二)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.模型训练1)数据集分析2)数据预处理相关其它博客工程源代码下载其它资料下载前言本项目专注于MovieLens数据集,并采用TensorFlow中的2D文本卷积网络模型。它结合了协同过滤算法来计算电影之间的余弦相似度,并通过用户的交互方式,以单击电影的方式,提供

npm发布vue3自定义组件库--方法一

npm发布vue3自定义组件库创建项目vuecreatetest-ui自定义组件创建自定义组件,组件名称根据你的需求来,最好一个组件一个文件夹,下图是我的示例。src/components组件和你写页面一样,所谓组件就是方便实用,不用重复搬动页面到不同的项目,可以直接install到你本地的项目,下图是一个示例。编写完

CRC校验原理与FPGA实现(含推导过程)

CRC校验原理与FPGA实现(含推导过程)写在前面一、CRC校验原理1.1CRC校验基本概念1.2CRC校验计算1.2.1发送端CRC校验码计算1.2.1.1CRC校验码计算方法1.2.1.2CRC校验码计算例子1.2.2接收端CRC校验1.2.2.1校验通过1.2.2.2数据段出错1.2.2.3CRC校验码段出错二、

有没有免费的云渲染平台?哪家云渲染平台收费更合理?

如今,越来越多的设计师开始使用云渲染平台来加快渲染速度并降低成本。许多人都想知道是否有免费的云渲染平台,或者说哪家云渲染平台收费更合理。在本文中,小编将详细介绍这些问题,帮助您更好地了解和选择适合您需求的云渲染平台。一、有免费的云渲染平台吗?首先,目前市面上没有完全免费的云渲染平台。这是因为云渲染平台建设和维护都需要资

Learn Prompt-ChatGPT 精选案例:广告文案

ChatGPT可以帮助我们生成广告文案和宣传图片,这对营销品牌建设很有帮助。通常,一个产品会有一个主要的广告词,传达设计理念或宣传产品的好处。我们可以尝试直接生成文案,看看ChatGPT有没有好的创意。假设我们的产品是一款登山鞋,我们要怎么得到令人满意的文案和宣传图片呢?背景查询​ChatGPT能帮助你快速熟悉一个领域

分享一个基于微信小程序的社区生活小助手源码调试和lw,有java+python双版本

💕💕作者:计算机源码社💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流!💕💕学习资料、程序开发、技术解答、文档报告💕💕如需要源码,可以扫取文章下方二维码联系咨询💕💕JavaWeb项目💕💕微信小程序项目💕💕

C++ STL & 标准库

STLSTL(标准模板库)是一套C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++STL的核心包括三个组件:容器(Containers)用来管理某一类对象的集合。C++提供了各种不同类型的容器,比如deque、list、vector、map等。

Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)

其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。至于为什么不用WPS.....别问,问就是不想开会员。脚本代码先安装PyMuPDF库,pipinstallPyMuPDF代码:importfitz#PyMuPDFd

AdsPower RPA一些编写思路(进阶)

在使用AdsPowerRPA编写RPA流程(有的人也叫RPA模板,都是一个意思)之前,我们需要慢慢梳理整个业务流程。而不是一上来就开写,要不然可能会来来回回改很多次,甚至会推倒之前写的步骤,很伤脑筋。今天就让Tool哥来给大家介绍一下我平常写RPA流程的思路,希望能帮助到大家。本文讲的内容稍微有些深入。如果是刚接触RP

热文推荐