Vite 源码探秘:Vue SFC 的炼金术 (兼容 Rollup 版)
大家好,我是你们今天的 SFC 炼金术士!今天咱们不聊理论,直接上手,扒光 vite-plugin-vue
的底裤,看看它如何将那些看似简单的 .vue
文件,变成浏览器能理解的 JavaScript 代码,并且还能和 Rollup 完美兼容。
1. 开场白:SFC 的本质与挑战
首先,明确一下我们的目标:.vue
文件,也就是 Single-File Component,它把 template、script、style 塞到一个文件里,方便开发,但是浏览器不认识啊!所以,我们需要一个编译器,将它分解成浏览器能理解的 JavaScript、CSS,以及一些必要的运行时代码。
vite-plugin-vue
就是这个编译器在 Vite 世界的化身。它负责解析、转换 .vue
文件,并将结果交给 Vite 的后续流程处理。而要与 Rollup 兼容,意味着即使项目最终使用 Rollup 打包,.vue
文件也能被正确编译和处理。
2. vite-plugin-vue
插件结构概览
vite-plugin-vue
本身就是一个标准的 Vite 插件,它导出一个函数,接收 Vite 的配置对象,并返回一个包含 name
、transform
等属性的对象。