Vue.js 创造性地提出了 SFC 概念,甚至影响了许多类似框架,但社区内总有用户抱怨因为 “一个文件只能包含一个组件”、所以在编写过程中总是需要频繁创建文件而破坏心流体验,Vue Vine 为了提供更灵活的组件编写方案应运而生。Vue Vine 不仅是一种新的 Vue 组件编写组织模式,还旨在解决一些 Vue 现存难以 Breaking change 的问题,创造性地引入了 ts-morph 来解决 Vue 3 defineProps 因为只能在 AST 级别解析 Props 类型的局限问题。Vue Vine 的编译宏函数概念和 Vue SFC 基本对齐,保证现有用户可以快速上手。Vue Vine 不但可以与 SFC 兼容和搭配使用、自身还提供了完整的生态支持:Vite 插件、VSCode 插件、ESLint 配置规则、Nuxt module、类型检查 CLI 工具和项目初始化脚手架,能够覆盖用户各类不同需要。