嘎嘎学习之Vite | 青训营笔记

97 阅读2分钟

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

1. 关于前端构建工具

1.1 目前前端开发中的一些痛点

image-20220812160353517

1.2 前端构建工具的意义

image-20220812161047251

1.3 当下构建工具的一些问题

  • 缓慢的启动-->项目编译等待成本高
  • 缓慢的热更新-->修改代码之后不能实时更新

image-20220812161528862

瓶颈

  • bundle(打包 )带来的性能开销
  • JavaScript语言的性能瓶颈

1.4 目前的发展趋势

image-20220812162010742

1. 浏览器原生esm支持

image-20220812162141105

2. 认识Vite

2.1 认识Vite

Vite是新一代的前端构建工具

  • 高性能,dev启动速度非常快和热更新素服非常快
  • 简单易用,开发者体验好

image-20220812161353390

基于原生的ESM开发服务

image-20220812162233715

基于Esbuild编译性能优化

image-20220812162456763

内置的web构建能力

image-20220812162630113

配置简单

image-20220812162753557

3. 使用Vite

3.1 项目初始化

image-20220812163725216

3.2 使用sass/scss & css Modules

image-20220812163822769

3.3 使用静态资源

image-20220812164524465

生产环境TreeShaking

image-20220812164820876

总之 Vite非常的厉害!!!

  • 响应迅速
  • 开箱即用

4. Vite整体架构

image-20220812170021526

关于依赖预打包

image-20220812170328685

单文件编译

image-20220812170639626

代码压缩

image-20220812170821015

插件机制

image-20220812170837532

5. Vite进阶路线

依赖的双引擎

image-20220812171003410

  • 先根据官方文档学习,尝试自己各种配置
  • 然后再学习其插件开发

6. Vite插件开发

为什么需要插件机制呢:

  • 抽离核心逻辑
  • 易于扩展

Vite插件的一些钩子函数

image-20220812171217862

case

image-20220812171409996

开发插件的步骤:

  1. 开发Vite插件
  2. 配置文件引入插件

一些参考资料

image-20220812171435346

7. 一些别的东西

7.1 代码分割(拆包)

在拆包之前,会存在一些问题

  • 无法进行并发请求
  • 缓存复用率低

image-20220812171644349

7.2 js编译工具(Babel)

出现的原因:

  • JavaScript语法标准繁多,浏览器支持程度不一
  • 开发者需要用到高级语法

image-20220812171734921

7.3 语法安全降级

image-20220812172054778

7.4 服务端渲染(SSR)

image-20220812172157213

7.5 底层标准

image-20220812172444309

8. Vite社区生态

image-20220812172651025

\