本文转自km的一篇文章,看了vite原理,其利用esbuild 先启动服务器,然后再根据所需页面以来的module 再按需加载编译。因为没有那么多阻塞的任务,所以才看起来很快,具体分析如下所示。提到 Vite,第一个想到的字就是 快,到底快在哪里呢?为什么可以这么快? 本文从以下几个地方来讲快速的冷启动: No Bundle + esbuild 预构建模块热更新:利用浏览器缓存策略按需加载:利用浏览器 ESM 支持Vite 本质上是一个本地资源服务器,还有一套构建指令组成。本地资源服务器,基于 ESM 提供很多内建功能,HMR 速度很快使用 Rollup 打包你的代码,预配件了优化的过配置,输出高度优化的静态资源快递的冷启动No-bundle在冷启动开发者服务器时,基于 Webpack 这类 bundle based 打包工具,启动时必须要通过 依赖收集、模块解析、生成 chunk、生成模块依赖关系图,最后构建整个应用输出产物,才能提供服务。这意味着不管代码实际是否用到,都是需要被扫描和解析。而 Vite 的思路是,利用浏览器原生支持 ESM 的原理,让浏览器来负责打包程序的工作。而
首乌
十年老程序员
粤ICP备2023052298号-1