持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
热更新速度
基于打包器启动时,重建整个包的效率很低。原因显而易见:因为这样更新速度会随着应用体积增长而直线下降。
一些打包器的开发服务器将构建内容存入内存,这样它们只需要在文件更改时使模块图的一部分失活,但它也仍需要整个重新构建并重载页面。这样代价很高,并且重新加载页面会消除应用的当前状态,所以打包器支持了动态模块热重载(HMR):允许一个模块 “热替换” 它自己,而不会影响页面其余部分。这大大改进了开发体验 —— 然而,在实践中我们发现,即使采用了 HMR 模式,其热更新速度也会随着应用规模的增长而显著下降。
在 Vite 中,HMR 是在原生 ESM 上执行的。当编辑一个文件时,Vite 只需要精确地使已编辑的模块与其最近的 HMR 边界之间的链失活(大多数时候只是模块本身),使得无论应用大小如何,HMR 始终能保持快速更新。
Vite 同时利用 HTTP 头来加速整个页面的重新加载(再次让浏览器为我们做更多事情):源码模块的请求会根据 304 Not Modified 进行协商缓存,而依赖模块请求则会通过 Cache-Control: max-age=31536000,immutable 进行强缓存,因此一旦被缓存它们将不需要再次请求。
生态环境
这里是我自己的见解,因为vite的作者是尤雨溪,vite的使用人群先在vue圈内扩散,一些vue3插件作者会基于vite去开发,一些新的插件技术可能会先适用于vite项目内。整体的生态可能不如webpack,但是对于选型vue3的人群,我是大力推荐使用vite!
实现电脑需要安装好node环境
Node.js 中文网 直接官网下载即可
编辑
node -v 查看版本号
安装npm淘宝镜像源
npm config set registry https://registry.npm.taobao.org
检查镜像源是否安装成功
npm config get registry
开始构建项目
npm
npm init vite@latest
或者
yarn create vite
配置项
编辑
打开项目,安装依赖
npm i 或者 yarn add
package.json
编辑
运行项目
npm run dev
或者
yarn dev
其实可以配置package.json,让项目运行起来后自动启动浏览器(--open)
编辑
总结
使用vite打包,速度快到惊人
当需要打包到生产环境时,vite使用传统的rollup进行打包,因此,vite的主要优势在开发阶段。另外,由于vite利用的时ES Module,因此在代码中不可以使用CommonJS