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

为什么选 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的协商缓存和强缓存,让浏览器再次参与进来,为我们做了很多事情

相关推荐
小万7425 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿5 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
全栈项目管理程序猿6 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
拖孩8 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579008 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku8 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
奇牙coding8 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai
小羊没烦恼!8 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
程序员老赵8 小时前
Docker 部署 Filestash:轻松搭建浏览器文件管理平台
前端·docker·开源
夏天要喝冰可乐8 小时前
给 23 万字修仙小说造个阅读站:浏览器内打包 EPUB 分页阅读 + 三主题实战
前端·产品·全栈