本文会通过手写一个非常简单的乞丐版Vite来了解一下Vite的基本实现原理,参考的是Vite最早的版本(vite-1.0.0-rc.5版本,Vue版本为3.0.0-rc.10)实现的,现在已经是3.x的版本了,为什么不直接参考最新的版本呢,因为一上来就看这种比较完善的工具源码比较难看懂,所以我们可以先从最早的版本来窥探一下原理。

本文会分为两部分,上篇讨论如何成功运行项目,下篇主要讨论热更新。

搭建基本服务

首先让我们来起个服务,HTTP应用框架我们使用connect

拦截html

拦截js请求

拦截css请求

拦截vue请求

处理js部分

处理template部分

处理style部分

处理模板请求

处理样式请求

处理静态文件