Vite 知识体系 | 青训营笔记

42 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第5天。

前端工程的痛点

1. 模块化

前端没有统一模块引入的规范,常见的规范有:ESModule、CommonJS、UMD、AMD等,因此需要提供兼容不同模块规范的处理方案。

2. 资源编译

目前众多的高级语法已经成为前端项目开发的标配,如TS, JSX, Vue, Less, Sass等,对于浏览器而言,只认识传统的三大件(HTML、CSS、JS),所以需要将高级语法进行编译。

3. 产物质量

随着前端项目体量增大,需要对其压缩优化,将一些未被使用到的模块进行剔除,需要对产物的兼容性进行处理,以适配更多的浏览器和客户端,进行语法降级处理

4. 开发效率

能够大大提升开发时的效率,如给予热更新。

Vite是什么?

定位: 新一代前端构架工具

两大组成部分:

  • No-bundle开发服务,源文件无需打包
  • 生产环境基于Rollup的Bundler

具备能力

  • 打包器 - Bundle
  • 编译器 - Transfer
  • 压缩器 - Minifier

瓶颈

  • bundle带来的性能开销
  • JS语言的性能瓶颈

Vite的特点

相比较与webpack,vite这个构造工具更加的快速,而且它相较于webpack的使用来说也更加的方便,很多配置都已经配置完成了,它采用的是与webpack不同的运行模式。

在webpack里面,不论是开发模式下还是生产模式下,只要代码发生了更改,都是会马上重新打包的,但vite在开发模式下,并不会对代码进行打包,而是直接运行代码,在项目部署时,再对项目进行打包,它是用esBulid预构造依赖,esBuild是用go语言写的,性能会比node更好,它默认的源码路径就是根路径

总的来说,vite是一款不错的打包工具,虽然目前的普及还没有webpack那么广泛,目前应用在小且轻型的项目当中,但它在未来中的发展前景还是很大的。