什么是 Vite

作者: 鹤仔z | 来源:发表于2021-04-13 16:47 被阅读0次

Vite 是 vue 的作者尤雨溪在开发 vue3.0 的时候开发的一个 基于原生 ES-Module 的前端构建工具。其本人在后来对 vue3 的宣传中对自己的新作品 Vite 赞不绝口,并表示自己 ”再也回不去 webpack 了“ 。那么 Vite 究竟有什么魅力?

这里引用一下 vite 官网首页的描述:下一代前端开发与构建工具

为什么是下一代呢?

现有的前端构建工具不够我们用吗?

Vite 是不是在重复造轮子?

下面我就用简单的逻辑解释一下 Vite 的优越性。

为什么是下一代

为了解释“下一代”这个问题,我们需要先了解一下“上一代”有什么问题。

为了了解“上一代”的问题,我们就需要弄懂“模块化”的概念。

  • 在ES6出现之前,我们的代码模块化都是使用的社区规范

    例如 node.js 中的 Common JS 规范。它并不是语言官方给出的规范,而是我们的开发者社区提供的规范,只不过用在了 node.js 当中。

    再比如我们客户端的 AMD、CMD 模块化规范

  • ES6 出现之后,代码模块化有了语言规范,即 ES-Module

    ES-Module 是伴随 ES6 出现的原生js模块化解决方案,其优越性这里先略掉。

模块化方案有很多,基于这些方案的工具也有很多。这里先放个结论:抛弃社区规范,使用语言规范成为前端模块化开发的趋势

所以,Vite 可以说是“下一代“

现有的前端构建工具不够我们用吗

先来看看模块化打包工具的出现是需要解决什么问题的:

  1. ES-Module 的浏览器兼容性问题
  2. 模块文件过多导致频繁发送网络请求的问题
  3. 资源文件模块化问题

我们常见的构建工具:webpack、rollup、parcel 等都着手解决了这些问题。

其中,Vite 的构建指令就是通过 rollup 来打包你的代码。而 rollup 的官网中有这么一句话:

rollup 对代码模块使用新的标准化格式,这些标准都包含在 JavaScript 的 ES6 版本中,而不是以前的特殊方案,如 CommonJS 和 AMD。ES6 模块可以使你自由、无缝地使用你最喜爱的 library 中那些最有用独立函数,而你的项目不必携带其他未使用的代码。

也再次印证了模块化方案要紧跟 ES6 的潮流,所以 Vite 它来了。

Vite 是不是在重复造轮子

都读到这里了,显然不是啊。

Vite 的特点

  • 快速的冷启动
  • 即时的模块热更新
  • 真正的按需编译

原理:利用 ES6 的 import 会发送请求去加载文件的特性,拦截这些请求,做一些预编译,省去 webpack 冗长的打包时间

开始使用 Vite2.0

Vite2.0 算是 Vite 的第一个稳定版本,带来了大量的改进。所以我们直接使用 Vite 2.0 即可。

待更新... ...

相关文章

  • 什么是 Vite

    Vite 是 vue 的作者尤雨溪在开发 vue3.0 的时候开发的一个 基于原生 ES-Module 的前端构建...

  • 什么是vite

    一、目前搭建 Vue 脚手架的三种方式 目前 vue3.0 的版本已经发布了 此次除了可以通过 vue-cli ...

  • Vite举一反一

    Vite是什么? github传送门[https://github.com/vitejs/vite] Vite (...

  • 学Vue3.0得先学一下它

    vite是什么 vite一词翻译成中文:快,在尤大神介绍Vue3.0时提到了vite这个工具,其描述是这样的:针对...

  • vite

    参考:https://juejin.cn/post/6844904146915573773 什么是 vite ? ...

  • Vue3.0项目从Webpack改造成Vite

    vite是什么 Vite (法语意为 "快速的",发音 /vit/) 是一种新型前端构建工具,能够显著提升前端开发...

  • 前端技术分享

    vite vite 是神马? Vite (法语意为 "快速的",发音 /vit/) 是一种新型前端构建工具,能够显...

  • 第一篇:初识vue3

    用 vite 管理项目 vite 是什么? 作者推出的用以替代webpack的打包工具, 号称速度最快. 没啥可说...

  • vue3.0+vite+typescipt

    vite是什么 vite 是一个由原生 ESM 驱动的 Web 开发构建工具。在开发环境下基于浏览器原生 ES i...

  • [周分享]聊聊 JavaScript Module 与 Vite

    Catalog 什么是 JavaScript Module? 关于 Vite它带来的新特性Snowpack(v1)...

网友评论

    本文标题:什么是 Vite

    本文链接:https://www.haomeiwen.com/subject/irsclltx.html