当年的 Vue 项目,仿佛就在那种气氛里把整个互联网圈给吸干了。

那时候哪位在写,大家就盯着哪位。哥们儿圈里有个叫 Taro 的,后来把整个框架都改成了 Vue 的,说 Vue 就是 Vue。

还有那群搞“热流”的人,摔键盘的声音比敲代码的声音大。

什么的,是不是确实哪位在写哪位就赢?这逻辑忒玄乎了,勉强能接纳。 Vue 的初衷实际上挺单纯,就是让写 React 的也能写 Vue。他们想做一个轻量级的框架,别像 Angular 那么重,也别像 jQuery 那么松。结局呢,Vue 把自己包装成了 React 的兄弟,就连说 Vue 才是 Vue。

这话说得怪怪的,就像有人说“这是苹果系的手机”,结局你拿个安卓手机说“这是苹果机”。 你看目前 Vue 的生态,简直比 React 的生态更乱。React 的库有那么多,但 Vue 的文档、教程、就连官方社区,仿佛都在说 Vue 是 Vue。你搜 Vue,出来的结局里全是 React 的坑,全是 Vue 的教程。

有没有人遇到过这种尴尬?明明想学 Vue,结局搜了一圈全是 React 的,说 Vue 就是 React 的变体。

这感觉就像你学做菜,发现所有菜谱都写着“加盐”,但你自己心里知道要加糖,结局人家说“不,你不懂,加盐才是标准”,故此你就一直加盐,直到把灶台间噎死。 Vue 的目录结构,也就是它的张罗方式,实际上挺有意思的。它不像 Angular 那样把文件按风格分那么细致,也不像 Vue CLI 那样自动生成一堆乱七八糟的 `src` 文件夹。Vue 的目录,更像是大家自己动手搭的乐高,每块积木都有自己的名字,拼起来就能变成一栋楼。 比如,Vue 的 `vue` 文件夹,就是存放整个项目标入口,就像房子的地基。`src` 文件夹则是真正的干活区,里面包了 `app`、`components`、`views` 这些模块。`components` 里,或许有用户头像这种图片组件,或许有购物车这种复杂的交互组件;`views` 里,往往放的是那些看起来像按钮、像输入框的一般/平平页面。`app` 文件夹则负责管理全局的数据和工夫,比如用户登录成功后的弹窗,要么页面切换时的动画效果。 这种结构,挺符合 Vue 的“野心”和“务实”的混合体。Vue 不想要 Angular 那种庞大的类型系统,也不想要 React 那种复杂的渲染引擎。它只想好办地把组件化提到极致,让开发者能像搭积木一样,把页面拆成一个个可复用的块,再像搭乐高一样,把它们拼在一起。 你可能会问,这种结构严不严?实际上,Vue 的目录结构,大量时候挺混乱的。出于 Vue 鼓励的是“零包袱”,就是让代码尽可能少,保持可移植性。

故此,不同的人、不同的项目,就连同一个开发者在不同阶段写的项目,目录结构都可能大相径庭。有的人喜爱把逻辑写在前端,把数据和服务代码写在后端,`vue` 文件夹里存放的只是最外层的面板;有的人喜爱把整个业务逻辑都写在组件里,`views` 里就藏了所有函数。

这种结构,有时候看着像一团乱麻,但只要理清思路,它依然能拼出一座大楼来。 还有一个细节,就是 Vue 对“命名”的态度。它挺尊重真,故此喜爱用 `id` 来指代组件的唯一标识符。在 Vue 2 里,`