关于Vite | 青训营笔记

75 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第15天🔥

让我们从这张图开始来说Vite

image.png Vite是新一代的前端构建工具,它由两大组成部分:

1.No-bundle开发服务,源文件无需打包(简单来说就是node.js的devservice,在这个项目中这个源文件是不需要打包的)

2.生产环境基于Rollup的Bunlder(Vite也针对web的构建场景对rollup进行了深度的定制和优化)

其实最重要的就是Vite的核心特征:

1.高性能,dev启动速度和热更新速度非常快 2.简单易用,开发者体验好

Vite与webpack相比:

1.打包问题:Vue脚手架工具vue-cli使用webpack进行打包,开发时可以启动本地开发服务器,实时预览,因为需要对整个项目文件进行打包,开发服务器启动缓慢。

2.热更新问题:webpack的热更新会以当前修改的文件为入口重新build打包,所有涉及到的依赖也都会被重新加载一次。

3.vite解决打包问题:vite只启动一台静态页面的服务器,对文件代码不打包,服务器会根据客户端的请求加载不同的模块处理,实现真正的按需加载。

4.vite解决热更新问题:Vite采用立即编译当前修改文件的办法,同时vite还会使用缓存机制(http缓存=>vite内置缓存),加载更新后的文件内容,所以,vite具有了快速冷启动、按需编译、模块热更新等优良特质。

5.Vite在开发模式下不需要打包可以直接运行,使用的是ES6的模块化加载规则;vue-cli开发模式下必须对项目打包才可以运行

6.vite基于缓存的热更新,vue-cli基于webpack的热更新