Vite快速入门

Pcjmy2023-01-20ViteVite

Vite快速入门

什么是Vite

Vite是Vue的作者尤雨溪在开发Vue3.0的时候开发的一个Web开发构建工具。由于其原生ES模块导入方式,可以实现闪电般的冷服务器启动。Vite是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:

  • 一个开发服务器,它基于 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。

  • 一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。

实现原理

ESBuild

ESBuild 是基于Go语言开发的JavaScript Bundler, 它的构建速度是 webpack 的几十倍。由Figma前CTO Evan Wallace开发,并且也被Vite用于开发环境的 依赖解析和Transform.

ESBuild的实现

  • 由Go实现并编译成本地代码:多数Bundler都是由JavaScript实现的,但是CLI应用对于JIT编译语言来说是性能表现最不好的。每次运行Bundler的时候,JS虚拟机都是以第一次运行代码的视角来解析Bundler(比如Webpack)的代码,没有优化信息.当ESBuild在解析JavaScript的时候,Node还在解析Bundler的JS代码

  • 重度使用并行计算: Go语言本身的设计就很重视并行计算,所以ESBuild对这一点会加以利用.在构建中主要有三个环节: 解析(Parsing),链接(Linking)和代码生成(Code generation),在解析和代码生成环节会尽可能使用多核进行并行计算

  • ESBuild中的一切代码从零实现:通过自行实现所有逻辑来避免第三方库带来的性能问题,统一的数据结构可以减少数据转换开销,并且可以根据需要改变架构,当然最大的缺点就是工作量倍增.

Last Updated 2024/11/4 07:11:36