Vite知识体系 -青训营笔记

21 阅读1分钟

这是我参与 第五届青训营 伴学笔记创作活动的第15天

课程概要

  • 浅谈构建工具
  • Vite概要介绍
  • Vite上手实战
  • Vite整体架构
  • Vite进阶路线

一、为什么需要构建工具

(一)、前端工程的痛点

7cd21750a42ba7da1557afda285a082.png
浏览器标准赶不上前端开发者的体验

c2e8e537dde46a022dcb5707ba7c70b.png

(二)、前端构建工具的意义

bd87bb5047c4ce5a9bbb6a247ef1ee8.png

二、Vite是什么?为什么是Vite

(一)、Vite概览: 新一代前端构建工具 d63f3dbb84c6658b6e5c4e5232be4a1.png

(二)、业界案例 开发速度,热更新速度

64019be96532165e5d64db8c0bbd44b.png

(三)、当下问题、

05bf8eeeb2411afaaa935a81665d925.png

(四)、行业趋势 1. 67e009adb8c97322ba3f994b09e0c6e.png

c250e6f8bb96fe71bca9cbc16c61375.png

两个要素

  1. script标签增加type="module属性
  2. ESM模块导入到处语法

(五)、基于原生ESM的开发服务优势

df8a8d777a1b4719ada44b8bd50906e.png

(六)、基于Esbuild的编译性能优化

d501101cb2187bc7472b7f613c80b7c.png

(七)、内置Web构建能力

46a54464482fd07ae04475472761959.png

开发对比: d21ed6e5cae480cd52fc4b9b2e13315.png

三、Vite如何使用

(一)、项目初始化

126425414899adadd214b60942b45d3.png

473c01758b1889592265cd8732c1208.png

(二)、使用Scss CSS Modules

f8238de38d37bb7a2b1ada301aab8f8.png

d4f70f678bcd46215d20b150e9577f4.png

(三)、引入静态资源 699711d6f6acbe9bd6429bea8e917d6.png

(四)、使用HMR

b2f9cdedfb318e5c3a7ac7781e33df3.png

(五)、生产环境Tree Shacking

70401220054189183c6246bc786518b.png

(六)、Vite的直观印象

7398e79728d44454553ace314b2d6d3.png

四、Vite的整体架构

186b345b92cd97ec2ad18c07bf36206.png

(一)、关键技术 单文件编译

f634fcf5c936706860d8cd2810f38fb.png

(二)、关键技术 代码压缩

9756f8f9e9e58c38cd01f13cc734735.png

(三)、关键技术 插件机制

c09bfae73b28211fcb53bbab34b465e.png

五、Vite进阶路线

(一)、深入双引擎

e2598422176004209400715cb235fcc.png

(二)、为什么需要插件机制

31d34df9bb7978d335492376cf0f44e.png

(三)、 为什么需要插件开发

737e324a8eaa2e0538856ef10cfc9bf.png

插件实例

8dafe1ae8246080d49c825d0ce9bba2.png

参考资料:

558a3f47efd754c6af8fbc231498dea.png

(四)、代码分割 拆包

a10ac90341f0d9e70cf52a5ccf39fa7.png

(五)、JS必备工具Bable

1f61885b398b5d42678e79390341016.png

(六)语法安全降级

6ff8cfd00cc0f6a794a4aabce829ab5.png

436a7108757259f56c03f4d0098cf6a.png

(七)、服务端渲染

5857dac17376fce2e76e45b73ee3cb9.png

(八)、深入了解底层标准

43f193a03105998320c3d9473605288.png

(九)、Vite社区生态

613e50a65d5e4066adfc6c9ff0dc029.png