一. Vite是什么?
vite的开发者是尤雨溪,同时他也是vue的开发者。Vite是什么呢,有这几种说法:
- Vite官网 :Vite是一种新型前端构建工具,能够显著提升前端开发体验。
- 网络上 :Vite是一个静态服务器,也可以说是一个开发的构建工具。
- 我觉得Vite是一个前端构建工具,它可以代替webpack在项目中的作用,变得更加轻量化,它最大的一个特点就是快!!它直面了一个问题,开发阶段就需要打包吗? 这个问题的答案也就是他和webpack的最大区别, Vite在开发阶段不会打包项目,顺其自然的这也成为了Vite为什么这么快最重要的的原因之一
二. Vite的特点?
- 轻量,开箱即用
- 启动项目速度极快
- 通过内置Rollup打包项目
1.轻量,开箱即用
输入如下命令,再输入项目名称,选择前端框架,然后打开新建的文件,安装依赖,用yarn dev既可以启动,使用起来非常快。
yarn create @vitejs/app
2.启动项目速度极快
Vite启动项目快的原因有如下几点
-
Vite不打包整个项目
Vite在输入启动命令后基本上是会直接启动服务,不打包整个项目。贴一张Vite官网的图,这样一对比就可以看到Vite为什么快了
Vite缓存依赖文件
Vite将项目代码分成了两部分,一部分是项目的依赖(package.js),一部分是项目的源代码(src/page),这两部分有不同的处理方式。依赖文件不会经常变,Vite将项目的依赖打包并保持在node_module/.vite中,依赖的打包工具是ESBuild这个工具,ESBuild是使用go语言写的,打包速度比javascript快很多。Vite只有在第一次启动、依赖变动、配置变动这三种情况下才会执行打包这个动作。在打包完成后,会通过HTTP缓存在浏览器中。-
模块热更新
项目的源代码(src/page)是直接运行在浏览器中,利用浏览器原生内置的ESmodule(ES6模块化加载规则),在源代码发生变化时,模块热更新只会更新当前页面所涉及的代码
3.通过内置Rollup打包项目
Vite内置了Roullup,用于打包项目,运行vite build命令就可以把整个项目打包成可以发布到生产环境上的包