升级 Vue3, 开发体验非常糟糕

43 天前
 weijancc
我的个人项目之前用的 Vue2, 很多组件都停止维护了, 项目还要维护很久, 不得不升级 Vue3, 我就在清明假期间进行了升级, 由于 Vue3 不向下兼容, 花了大量时间迁移旧语法和旧组件, 而最重要的开发体验:

1. 无论是 webstorm 还是 vscode 官方插件, 都无法完美支持 Vue3, 开发过程经常没有提示, 非常痛苦.
2. Vue 官方的 VS Code 插件非常卡, 而且经常进入死循环, 必须重启, 在 win 本时散热疯狂响, 不知道的还以为我在玩 3A 游戏.

为了方便以后维护, 用上了 Typescript+Composition API, 比起选项 API, 代码结构确实优雅了很多, 但我一看这代码, 这不是 React 吗? 除了 v-if 条件渲染方便, 其他方面真感觉没 React 好用.

Vue2 现在每周下载量其实还是大于 Vue3 的, 但现在被标记成废弃, 看不到下载量了(总下载量-Vue3 下载量可得 Vue2 下载量), 最搞的是 Vue1 反而还在


Vue2 给国内大小公司都带来了前端工程化, 挺伟大的, 但为了强迫升级 Vue3, 把别人的商业项目当闹着玩的, 真的糟糕, 如果用上了组合 API, 建议新项目还是用 React 吧, 用迷你版 React 不如用正版.

各位前端 er, 你们项目在用什么框架呢?
11581 次点击
所在节点    Vue.js
124 条回复
NatsumeXavier
43 天前
怎么说呢,菜就多练吧
weixind
43 天前
@NatsumeXavier 有啥更好的解决思路么。手里有个 vue2 的项目,暂时没升上来。
abelmakihara
43 天前
写惯 react 写 vue2 有手就行
vue3 还是有些生造概念的
lizy0329
43 天前
菜就多练
NatsumeXavier
43 天前
@weixind 没必要升级呀,vue2 只是不更新了,又不是不让用了,没说一定要升级才可以的嘛
lizy0329
43 天前
@weixind 不升,Vue2 大把的插件用,自己写一个也不是什么困难的事情
a4854857
43 天前
干嘛要升
weijancc
43 天前
@lizy0329 展示下你的代码? 核心是代码补全一直都有问题.
liubaicai
43 天前
都 2042 年了,还在纠结升级 vue3 ???
Jungzl
43 天前
要維護很久不意味着就要追新,如果升級帶來更多心智負擔建議不要升級,可以新項目做幾個 vue3 的再決定老項目需不需要升級
yancyz
43 天前
新项目建议用 vue3 ,老项目建议升级到 v2.7 ,2 到 3 这种是非向下兼容的升级,想想就会很难受,语法是一方面,另外周边的生态也很不一样。遇到太多困难可能是因为思路错了吧。
另外没搞懂这和 react 有啥关系。
rabbbit
43 天前
基本很少升大版本,后端也一样,试试跟后端说让他把 Spring 升级一下大版本到 3 看看对方啥反应。
关于库不兼容,选型 swiper 和 vue-awesome-swiper 我肯定用前者。
cxe2v
43 天前
@yancyz 估计是写惯了 react ,不习惯 vue 吧
jspatrick
43 天前
项目体量大就还是老老实实呆在 vue2 吧,升级只是换写法
weijancc
43 天前
@yancyz 你看看组合 API 和 React 的代码就知道了, 两者非常像..
ftsland
43 天前
@rabbbit 上线的项目必不可能升的
SayHelloHi
43 天前
习惯就好了

当初也各种不习惯 直到项目挣钱 真香
aikilan
43 天前
vue3 的语法"多态"令人头疼,在一些规范较差的项目中,你甚至能看到各种写法交集在一起,vue3 似乎走进了一个貌似友好实则混乱语法森林。vue 依赖语言特性的特点,导致 vue2 和 vue3 完全走向了"社区分裂"的结果,这不得不说是个十分错误的选择,任何语言在更新迭代过程中放弃已有的社区积累都是不明智的。
snarkprayer
43 天前
1,2 是一个问题,vue 的 vscode 插件最近更新了 2.0 大版本,这种大版本一开始问题很多,最近才稍微稳定点,不能提示了直接重启插件

组合式 api 目前来说需要结合三方库或者自己写一些 useXXX 之类的才能发挥特点,能减少大量样板代码,代码量基本会少 1/3 或者 1/2
zzwyh
43 天前
稳定的项目为什么要升级,如果只是功能迭代,完全可以不升级吧

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

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

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

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

© 2021 V2EX