vite是什么

vite 是什么

vite —— 一个由 vue 作者尤雨溪开发的 web 开发工具

Vite由两个主要部分组成

  1. dev server:利用浏览器的ESM能力来提供源文件,具有丰富的内置功能并具有高效的HMR
  2. 生产构建:生产环境利用Rollup来构建代码,提供指令用来优化构建过程

Vite作为一个基于浏览器原生ESM的构建工具,它省略了开发环境的打包过程,利用浏览器去解析imports,在服务端按需编译返回。同时,在开发环境拥有速度快到惊人的模块热更新,且热更新的速度不会随着模块增多而变慢。因此,使用Vite进行开发,至少会比Webpack快10倍左右。

Vite的主要特性

  • Instant Server Start —— 即时服务启动
  • Lightning Fast HMR —— 闪电般快速的热更新
  • Rich Features —— 丰富的功能
  • Optimized Build —— 经过优化的构建
  • Universal Plugin Interface —— 通用的Plugin接口
  • Fully Typed APIs —— 类型齐全的API

为什么要使用Vite

开发环境⚡️速度的提升

经过1.3节,我们简单对比了各打包工具之间的差异。可以看到使用JS开发的工具通常需要很长的时间才能启动开发服务器,且这个启动时间与代码量、代码复杂度正相关。即使使用HMR,文件修改后的效果也要几秒钟才能在浏览器中反应出来,代表如Webpack。那么Vite是如何解决如Webpack这样的构建工具一样,在复杂、多模块项目开发中启动慢、HMR慢的问题呢?

我们详细对比了开发环境中的Vite和Webpack,发现主要有如下不同:

WebpackVite
先打包生成bundle,再启动开发服务器先启动开发服务器,利用新一代浏览器的ESM能力,无需打包,直接请求所需模块并实时编译
HMR时需要把改动模块及相关依赖全部编译HMR时只需让浏览器重新请求该模块,同时利用浏览器的缓存(源码模块协商缓存,依赖模块强缓存)来优化请求
内存高效利用-

因此,针对开发环境中的启动慢问题,Vite开发环境冷启动无需打包,无需分析模块之间的依赖,同时也无需在启动开发服务器前进行编译,启动时还会使用esbuild来进行预构建。而Webpack 启动后会做一堆事情,经历一条很长的编译打包链条,从入口开始需要逐步经历语法解析、依赖收集、代码转译、打包合并、代码优化,最终将高版本的、离散的源码编译打包成低版本、高兼容性的产物代码,这可满满都是 CPU、IO 操作啊,在 Node 运行时下性能必然是有问题。

针对HMR慢,即使只有很小的改动,Webpack依然需要构建完整的模块依赖图,并根据依赖图来进行转换。而Vite利用了ESM和浏览器缓存技术,更新速度与项目复杂度无关。可以看到,如Snowpack、Vite这类面相非打包的构建工具,在开发环境启动时只需要启动两个Server,一个用于页面加载,一个用于HMR的Websocket。当浏览器发出原生的ESM请求,Server收到请求只需要编译当前文件后返回给浏览器,不需要管理依赖。

 

使用简单,开箱即用

相比Webpack需要对entry、loader、plugin等进行诸多配置,Vite的使用可谓是相当简单了。只需执行初始化命令,就可以得到一个预设好的开发环境,开箱即获得一堆功能,包括:CSS预处理、html预处理、异步加载、分包、压缩、HMR等。他使用复杂度介于Parcel和Webpack的中间,只是暴露了极少数的配置项和plugin接口,既不会像Parcel一样配置不灵活,又不会像Webpack一样需要了解庞大的loader、plugin生态,灵活适中、复杂度适中。适合前端新手。

  • 39
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue 2的Vite是一个面向现代化浏览器的轻量级前端构建工具。它的目标是在开发过程中提供快速的冷启动,并且能够快速地进行热模块替换(HMR)。 Vite(发音为"veet")采用了一种全新的开发模式,它利用 ES 模块的特性,在开发过程中以原生 ES 模块的形式直接提供源码,而不需要进行打包。这种方式使得 Vite 在冷启动时可以极快地加载应用,并且在开发过程中只需要按需编译和热更新修改的模块,大大提高了开发效率。 Vite 不仅适用于 Vue 2,也适用于其他前端框架,如 React 和 Preact等。对于 Vue 2 项目,你可以使用 Vue CLI 创建一个 Vue 2 的项目,然后将 Vite 作为开发服务器来使用。 要使用 Vite,你可以按照以下步骤进行: 1. 全局安装最新版本的 Vue CLI: ``` npm install -g @vue/cli ``` 2. 创建一个新的 Vue 2 项目: ``` vue create <project-name> ``` 3. 进入项目目录: ``` cd <project-name> ``` 4. 安装 Vite 作为开发依赖: ``` npm install --save-dev vite ``` 5. 修改 `package.json` 文件,将 `scripts` 中的 `serve` 命令替换为 `vite`: ```json "scripts": { "serve": "vite" } ``` 6. 运行开发服务器: ``` npm run serve ``` 这样,你就可以使用 Vite 作为开发服务器来快速开发 Vue 2 应用了。同时,Vite 也提供了一些优秀的特性,比如自动转换模块路径、支持 TypeScript、CSS 预处理器等,你可以通过 Vite 的官方文档详细了解这些功能的使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰冰很社恐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值