Vue.js 有什么缺点?

2017-01-20 14:45:42 +08:00
 cheetah
Vue.js 的优点我们已经听了很多了,我自己实际用起来也确实很好用。那么 Vue.js 有哪些缺点呢?最好基于 Vue 2 来讲
24629 次点击
所在节点    JavaScript
43 条回复
sunjourney
2017-01-21 00:01:49 +08:00
fragments instance 这么难忍的问题没人说? 当然了, React 也有。
coffeedeveloper
2017-01-21 00:27:42 +08:00
也稍微来评价一下 Vue 的缺点吧。如果说 Vue1 和 React 比还是有一定的差距的,到了 Vue2 基本上可以说是没有什么差距了(在我看来)。

1 、 Vue 给我感觉最大的缺点就是当初为了追赶上现有框架, Vue 给予了整个生态环境的官方配套技术方案 Vuex 、 VueRouter 。这是一件好事,不过也是一种双刃剑。如果让大家去找能够替代 Vuex 、 VueRouter 的其他框架,要求 star 过千,文档齐全,更新频率较快,有教程的。。你会发现一个都没有。现在市面上大家广为人知关于 Vue 相关的都是 UI 组件。非 UI 组件类型的不多。而在 2014-2015 年,我用 React 的时候可以说是百花齐放,一堆有的没的 flux 框架出现,现在处于垄断地位的 Redux ,也是优胜劣汰之后的结果。 React 方面能够有更多的第二选择,而 Vue 目前是缺乏“第二选择”的。

2 、 React 在 Facebook 的大力推广下,学习 React 能够带来比 Vue 更多的技术、资源上面的红利。最典型的莫过于 ReactNative ,虽然说 Vue 已经开始弄 Weex 了。可是 Weex 能否追赶上 ReactNative 还是一个未知数。同样的,在技术岗位上面,接受 React 的公司目前来说也是比 Vue 多的。

3 、 Vue 不缺入门教程,可是很缺乏高阶教程与文档。同样的还有书籍。

4 、用 Vue 去实现同一套需求,可以有 N 种写法。这是一件好事,不过很容易造成代码风格不统一所带来的维护困难。比如说对于多逻辑分支的情况下,用 jsx 去实现会远远比用 template 的方式优雅和清晰,可是却会让你的代码看上去风格差异异常明显。而在一些小的点上,你也会去过多的去考虑是用 computed 好,还是 method 好。诸如此类。

5 、正如楼上的说,如果你需要去 debug template 渲染模板的话, 你会发现非常麻烦。

其他想到再补充。最后,如果你让我在 React 和 Vue 之间选择的话,我还是会选择 Vue 。哇卡卡卡
wph95
2017-01-21 10:40:33 +08:00
1. 生态和 react 比差太多,想按需求找个库(比如 drag , heatmap ),基本都是 react 的 , ng 也有可能有, vue 有的可能性很小。
2. ide 支持不足, webstorm 写 react 炒鸡爽, vue 只能是写。 reformat 提示什么的都木有
jiyinyiyong
2017-01-21 11:19:33 +08:00
以前写 react ,现在自己写 respo ,遇到奇怪的行为可以打断点,其实也就是高阶函数嘛,变量都在 scope 里,某些东西绑到了 this 也可以从顺着访问,有时候懒得看文档也还是能明白自己错在哪。写 vue 的时候我得全程开着文档啊,整个自己实现了一遍 DSL ,偶尔写错自己写就晕了,现在基本都反应过来我一定是哪个地方没有按照文档写,然后感觉跟文档上对照看哪错了。类型检查,运行时审查,以前用惯的东西不能直接玩了。
hm910705
2017-01-21 11:30:31 +08:00
@coffeedeveloper 强烈赞同~
wdhwg001
2017-01-21 12:37:39 +08:00
template 的问题。
举个例子的话,比如 jade/pug 作为 template 的时候,其中绑定的语法依然只能按照 Vue 的风格去写 mustache ,不能按照 jade/pug 的风格。
wizardoz
2017-01-21 13:05:36 +08:00
.vue 文件感觉不太美
JamesRuan
2017-01-21 13:42:53 +08:00
@jiyinyiyong 严重同意
debug 烂,内部实现黑科技,再怎么好学我也不会用了。
zhuangtongfa
2017-01-21 13:47:54 +08:00
最大的缺点是 star 没 react 少,造成一部分人对 vue 产生偏见
zhuangtongfa
2017-01-21 13:48:10 +08:00
@zhuangtongfa 打错了,没 react 多
whwei
2017-01-21 16:40:09 +08:00
Wangxf
2017-01-21 18:26:35 +08:00
按照现在的形式,最好学 react 或者 react , vue 两个都学,你现在去任何一家互联网公司 react 都是你避不开的话题,没有多少公司只用 vue 的,要么就是 react 和 vue 都有,要么就是 react
thomaspaine
2017-01-21 20:08:46 +08:00
编辑器的支持吧_(:з」∠)_ 没提示感觉写的要死了
guokeke
2017-01-22 12:47:43 +08:00
@jiyinyiyong 嗯。开发体验低。
Aben
2017-01-22 17:56:18 +08:00
补充 2 条:
1. 我非常反感类 ng 指令
2. vuex 维护可变数据容易出现非 reactive data
oysun
2017-01-22 18:34:40 +08:00
Vue 编辑代码提示可以看看这个 https://github.com/OYsun/vscode-VueHelper
notreami
2017-01-22 21:12:05 +08:00
有一个严重的缺点,个人崇拜主义太强,坚决不能说 Vue 有问题,有缺陷,否则尤大会亲自过来反驳,并招来一批粉丝对骂。
rqzheng2008
2017-01-23 10:23:51 +08:00
ls 加一,国内说 vue 不好,跟说 tfboys 不好一样,一群人上来微博咬你
qweweretrt515
2017-03-04 00:10:47 +08:00
生态和 angular 、 react 比起来差了些,估计 2 年内都比较难追上
zhuangtongfa
2017-03-06 17:03:28 +08:00
@qweweretrt515 看一眼 JavaScript 的 trending 吧,vue 每天的 star 都比 react 多几十,照这趋势,一年 star 就超过 react

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335866

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX