这是我参与「第五届青训营 」笔记创作活动的第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那么广泛,目前应用在小且轻型的项目当中,但它在未来中的发展前景还是很大的。