这是我参与「第四届青训营」笔记创作活动的的第12天
浅谈构建工具
构建工具意义
Vite概要介绍
定位::新一代前端构建工具
两大组成部分:
- No-bundle开发服务,源文件无需打包
- 生产环境基于Rollup的Bundler
核心特征:
- 高性能,dev启动速度和热更新速度非常快
- 简单易用,开发者体验好 浏览器原生ESM支持
Vite上手实战
基于原生ESM的开发服务优势
基于Esbuild的编译性能优化
Esbuild——基于Golang开发的前端工作,具备如下能力:
- 打包器Bundler
- 编译器Transformer
- 压缩器Minifier
性能极高,在Vite中被深度使用
项目初始化
使用Sass/Scss& css Module
使用静态资源
使用HMR、Tree Shaking:无需额外配置,自动开启
其中Tree Shaking的优化原理是
- 基于ESM的import/export语句依赖关系,与运行时状态无关
- 在构建阶段将未使用到的代码进行删除
Vite最直观的印象:响应迅速,开箱即用
Vite整体架构
关键技术一:依赖预打包
关键技术二:单文件编译
关键技术三:代码压缩
关键技术四:插件机制
Vite进阶路线
推荐学习路线顺序:
- 先了解基本使用,动手尝试各项常用配置
- 然后学习插件开发
插件开发
代码分割(拆包)
JS编译工具
语法安全降级
服务端渲染(SSR)