为什么有人说 Vue 不适合构建大型项目?
46 个回答
说几个我的个人感受到的小细节,曾经的 vue 类型检查比较弱,导致 ts 无法较好与之配合,包括 script 和template都不太好被类型约束。曾经的 vue 比较依赖 options 的 API,其 this 可能存在不少隐式的依赖,不容易做代码跳转和静态分析,而且复用比较难(mixin)。
但是事情正在起变化。
vue 3 给我们带来了 composition api 和 ts 约束的 vue 源码,香港小哥 Johnson 给我们带来了 volar 插件 和 vue-tsc。现在 vue 3 的 ts 开发体验已经不弱于 angular 了,当然和 react 还是有些差距的。
其中 composition api 写逻辑代码,与 ts 配合极为顺畅;而 volar 做了非常好的模板类型检查,包括 props,emit,slot,directive(我站在 ts 爱好者的角度上谈的)。
而 composition api 的逻辑复用能力也使人震惊(感恩 react 团队天马行空的想象力)。我至今没有背下来 vue 的生命周期顺序,但是不妨碍我们构建出庞大的业务逻辑。
因为 vue 3 的贡献,社区的成员们把 vue 3 的工作都移植到了 vue 2 上,所以现在 vue 2 也有和 vue 3 几乎同等级的类型检查和逻辑复用能力。主要是 vue 官方的 @vue/composition-api , antfu 写的 unplugin-vue2-script-setup,还有 Johnson 给 volar 也做了对应的 vue 2 适配工作。
总结一下,我目前所关心的两个小领域,ts 静态类型检查和逻辑复用,vue 是完全适合构建大型项目的。
其他方面如果有不合适的,作为小萌新,我还不太懂。
\(//∇//)\