LeeReamond
V2EX  ›  问与答

有没有前端带佬讲一下 Vue3 现在值不值得迁移, ts 支持相关的轮子完善了吗?

  •  
  •   LeeReamond · Jun 10, 2021 · 5786 views
    This topic created in 1979 days ago, the information mentioned may be changed or developed.

    以前折腾过 vue2 的 ts,感觉不太行。最近看了一下 vue3 介绍,说是支持监听深层对象的改动,还有支持 ts 啥的,略心动。目前 vue2 需要使用 router/vuex/axios 这些基础组件,进阶的需要服务端渲染 /组件库之类的支持,请问 vue3 在这些方面目前能无痛迁移了吗?

    把现有 vue2 项目迁移到 3 需要多少功夫?

    47 replies  •  2021-06-15 09:30:10 +08:00
    2kCS5c0b0ITXE5k2
    2kCS5c0b0ITXE5k2
    Jun 10, 2021
    1
    自己的项目可以搞. 公司就算了.
    TomVista
    TomVista
    Jun 10, 2021
    2
    不能,需要手动改一些不兼容的语法和骚操作。工作量主要看你 不兼容的语法和骚操作 用的多不多,

    然后 vue3 全家桶仍然和 ts 不搭
    PinkRabbit
    PinkRabbit
    Jun 10, 2021
    3
    没法无痛,如果项目挺大迁移起来还挺麻烦的,如果你里面有用一些组件库之类的基本没兼容
    lqfxz520
    lqfxz520
    Jun 10, 2021
    4
    @TomVista >> 然后 vue3 全家桶仍然和 ts 不搭
    为什么不搭啊
    8888888888
    8888888888
    Jun 10, 2021
    5
    不完善的直接 any 完事
    icanfork
    icanfork
    Jun 10, 2021
    6
    迁移不推荐,也没有必要
    新开项目已经 OK 了,生态组件慢慢在跟上
    VDimos
    VDimos
    Jun 10, 2021 via Android
    7
    写到最后成了 anyscript
    releaseme
    releaseme
    Jun 10, 2021
    8
    非要迁移的话整个微前端慢慢套吧
    LeeReamond
    LeeReamond
    OP
    Jun 10, 2021
    9
    @belin520 慢慢跟上意思是现在还不行?
    66beta
    66beta
    Jun 10, 2021
    10
    vue 强大之处就是自己维护了一套生态,不用烦恼选什么 router 之类的问题

    公司项目就没必要了,不如直接换 react
    anguiao
    anguiao
    Jun 10, 2021 via Android
    11
    没有必要迁移啊,后面还有 2.7,到时候迁移到 2.7 就行了。
    2.x 的项目还是留在 2.x 吧,比较稳妥。
    dumbass
    dumbass
    Jun 10, 2021 via iPhone❤️2
    12
    公司的项目被我引入了 composition-api,上上上周心血来潮周末尝试迁移了一下,累吐血了,一堆坑。要改的地方太多了,我已经放弃了🙃
    IvanLi127
    IvanLi127
    Jun 10, 2021 via Android
    13
    不值得吧,觉得 vue3 不够好,如果你不满意 vue2,可以考虑 react
    icanfork
    icanfork
    Jun 10, 2021
    14
    @LeeReamond #9 基本够用,但是生态跟 vue2 还是差很多的
    vinsony
    vinsony
    Jun 10, 2021
    15
    我试了一下,吐了。大项目要迁移的话改动非常多,Element 现在也不少 bug,再改 ts 的话更困难,费力不讨好。等 2.7 或是 3.1 再看吧
    TomVista
    TomVista
    Jun 10, 2021 via Android
    16
    @lqfxz520 比如 vuex +ts,写起来超级恶心,vuerouter 就没 ts,然后新的 proxy+setup 能写吐
    EPr2hh6LADQWqRVH
    EPr2hh6LADQWqRVH
    Jun 10, 2021 via Android
    17
    vue 和 ts 不兼容,见一次说一次
    lupkcd
    lupkcd
    Jun 10, 2021❤️1
    18
    新项目可以上 迁移不建议
    LS 一大堆说 ts 不兼容的 不知道他们怎么用的
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Jun 10, 2021 via Android
    19
    新项目你要是想用,把问题都想明白了,可以上 vue3,老的 vue2 项目就保持着 vue2
    matrix67
    matrix67
    Jun 10, 2021
    20
    perl5 perl6
    python2 python3
    vue2 vue3
    shakaraka
    shakaraka
    Jun 10, 2021
    21
    vue 和 ts 搭配太恶心了 2 、3 都是
    walpurgis
    walpurgis
    Jun 11, 2021 via Android
    22
    公司项目配置了下,可以混用,感觉还行,ts 本身也是有渐进式理念的,跟 vue 一样,按需逐步替换,一些复杂业务逻辑非常适合用 ts,不然数据对象多嵌套几层就晕了,组件展示层用老写法也完全没问题
    TarotVoyager
    TarotVoyager
    Jun 11, 2021 via iPhone
    23
    composition api + ts 毫无问题
    murmur
    murmur
    Jun 11, 2021❤️1
    24
    vue3 其实没啥太亮眼的特性,主要是 vue2 做的太好了,没啥痛点
    ALVC666
    ALVC666
    Jun 11, 2021
    25
    新项目 vue3 + tsx 真的体验很爽 类型推导和智能提示都有了 嗖嗖的
    旧项目的很难 自己的还好 如果使用的第三方库没有支持
    那就蛋疼了
    AV1
    AV1
    Jun 11, 2021
    26
    组合式 API+响应式对象,写起来像 React 的 hook 。
    缺点仍然是模板代码里的提示仍然不够智能。
    acthtml
    acthtml
    Jun 11, 2021
    27
    公司的项目不建议升,生态还没准备好。
    vuex 对 ts 的支持很变扭,vue3 dev tools 还没有支持 vuex 的插件。
    uen
    uen
    Jun 11, 2021
    28
    1. 不建议迁移
    2. vue3+ts 体验还是待提升; vue3+tsx 会好很多
    joe237
    joe237
    Jun 11, 2021
    29
    直接迁移不建议。但是在 vue2 里用 composition api 还是很舒服的,特别是一些体态臃肿的组件,逻辑拆分开来相对全怼在 Options 中舒服太多了
    mumaniu
    mumaniu
    Jun 11, 2021
    30
    不迁移。vue2 挺好的。新项目不面对 C 端,可以直接上 vue3.
    mongodb
    mongodb
    Jun 11, 2021
    31
    不行。

    Vue3 自己没问题。

    周边生态没跟上。
    abersheeran
    abersheeran
    Jun 11, 2021
    32
    确实。Vue3 相对于 Vue2 来说,我觉得是败笔。升级没解决什么痛点问题,反而乱抄函数式设计搞得自己四不像。我一直觉得 Vue2 的 OOP 设计挺好,现在不发展自己的优势实在不知道 youyuxi 咋想的。以前我都是 Vue 和 React 想起来哪个用哪个,现在我基本只用 React 了。

    另外,Vue3 的 AnyScript 早就不是新闻了吧?
    abersheeran
    abersheeran
    Jun 11, 2021
    33
    https://github.com/sveltejs/svelte 另外前段时间被大佬安利了这个,如果是自己的项目,可以试试看。
    hedwi
    hedwi
    Jun 11, 2021
    34
    建议换 angular
    love
    love
    Jun 11, 2021
    35
    @abersheeran svelte 这种动用编译器的也太重了,万一人家放弃项目了比别的框架都要惨几倍,感觉对于打算做长远的项目不利
    Terry05
    Terry05
    Jun 11, 2021
    36
    composition api 对于写组件、模块、业务抽象等内容相比 vue2 强也不是一点,如果平时只是做业务功能、增删改查,自然感觉 vue3 相对 vue2 并没有什么提升,反而增加了很多学习成本
    ZhiyuanLin
    ZhiyuanLin
    Jun 11, 2021
    37
    喜欢 TypeScript 还是 Angular 最爽,用 Angular 你想不用 TypeScript 都不行了。
    leelz
    leelz
    Jun 11, 2021
    38
    vue3 全家桶已经在生产环境用上了。
    1 、ts 兼容不是很好
    2 、vuex 没法使用 vue2 的 mapGetter 、mapAction
    3 、dev-tool 不能使
    John60676
    John60676
    Jun 11, 2021
    39
    composition api 不香吗

    https://github.com/AttoJS/vue-request
    yunyuyuan
    yunyuyuan
    Jun 11, 2021
    40
    应该很难
    icanfork
    icanfork
    Jun 11, 2021
    41
    @leelz #38 2 一直可以吧,3 已经可以了,升级下 vuex
    linkopeneyes
    linkopeneyes
    Jun 11, 2021
    42
    vuex 支持 ts 一直都烂,上次看到一个 pinia,感觉不错下次准备用用
    Jaosn
    Jaosn
    Jun 12, 2021
    43
    我司新项目全部 Vue3
    abersheeran
    abersheeran
    Jun 14, 2021
    44
    @love 你这话说的,只要用的人多这项目哪里会被放弃?如果按照这个思维方式来考虑,那么 Linux 可能就不会出现在世界上了——用别人的操作系统太重了,万一 Linus 不维护了换系统怎么办?

    或者换个更符合中国中层领导的说法——用别国的操作系统太不靠谱了,万一别人卡我们脖子怎么办?
    abersheeran
    abersheeran
    Jun 14, 2021
    45
    @love 开源是一种共产主义运动,你不能拿旧的私有制思维来考虑这件事。

    什么是旧的私有制思维?“人家放弃项目了”。他确实是创造者,却没有所有权,以 MIT 协议放出来的开源代码属于全世界。

    “所有人都放弃这个项目了”这才是需要考虑的风险。而我觉得,这项目至少比大部分公司的网站要活的久,没必要杞人忧天。如果真的担忧,可以打钱、贡献代码等方式支持。

    当然,你也可以选择不用,这是你的权利。回复这些只是交流一下思想。
    love
    love
    Jun 15, 2021
    46
    @abersheeran web 项目远到不了 linux 这种几乎不太可能被放弃的程度,特别是 js 界,荒废的 js 项目多了去了,连 jquery 和 backbone 以前这么流行的都不行了,js 的技术演化很快,而这类靠编译器来魔改 JS 语法的恰恰是危险的方向,且不象 backbone 这类只是纯 JS 管理者不维护了也能用,编译器这种和工具绑定的不维护了非常难受,连带一堆东西可能没法升级了如 babel 等。

    另外别觉得公司的项目活不久,公司老项目多了去了,我自己的几个项目都有十年了,技术选择也要考虑点未来方向风险。

    当然了自己玩玩的项目随便怎样都行。
    Colorful
    Colorful
    Jun 15, 2021
    47
    自己的项目,随便你玩,公司的项目别动。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2052 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 15:04 · PVG 23:04 · LAX 07:04 · JFK 10:04
    ♥ Do have faith in what you're doing.