从 Vue2 轻松迁移到 Vue JS 3 的最佳实践?

     2023-02-22     247

关键词:

【中文标题】从 Vue2 轻松迁移到 Vue JS 3 的最佳实践?【英文标题】:Best practices for easy migration from VueJS2 to VueJS3? 【发布时间】:2020-02-10 12:49:14 【问题描述】:

我目前正在使用 vuejs 2 和 vuetify 2 开发企业应用程序的 Web 前端。计划在发布后迁移到 Vuejs 3。

为了方便将来迁移到 vuejs 3,现在应该避免任何编码模式吗?

Vue 3 发布路线图的 github 说:

高级 API 尽可能接近 2.x。仅在必要时进行重大更改,并将通过 RFC 流程进行沟通。 (https://github.com/vuejs/roadmap)

【问题讨论】:

【参考方案1】:

为了方便将来迁移到 vuejs 3,现在应该避免任何编码模式吗?

是的。应避免使用基于类的组件。它们不会被标记为过时,但无法将组合 API 与它们一起使用。类组件不再是 Vue 的未来。

关于这个主题:

Type Issues with Class API Vue 3.0 Discards Class-Based API for Reusable, Composable Function-Based Approach

【讨论】:

【参考方案2】:

根据我在 RFC 中阅读的内容和 Vue Mastery (https://www.vuemastery.com/courses/vue-3-essentials/why-the-composition-api) 中的一些视频,不会有重大更改,它们只是添加新功能而不是删除旧功能。

可能我不会完全采用 Typescript 或严重依赖 Vue Mixins,因为 Vue3 的组合 API 会改进这两个功能。

【讨论】:

【参考方案3】:

您可以从此处查看已删除的内容、当前正在开发的内容以及路线图中接受的内容:

首先你应该知道类组件正在被删除: https://github.com/vuejs/rfcs/pull/17#issuecomment-494242121 (这在what will happen for vuejs projects based on class components in vuejs v3.0? 中得到了很好的回答,但它可以在 vue3 中使用)。

这是 vuejs 路线图,对于观察其未来的实现非常有帮助: https://github.com/vuejs/vue/projects/6

这是一个将 vue2.x 选项转换为 vue3.x 之类的组合 api 的实际问答(实际上使用 vue-composition api)

odd problems in Convert Vuejs Typescript Options to Composition Api

它基于https://vue-composition-api-rfc.netlify.com/api.html,如果您想将 vue2 迁移到 vue3,这个免费视频(感谢 maximilian)“https://www.youtube.com/watch?v=V-xK3sbc7xI”将对您有所帮助。

【讨论】:

【参考方案4】:

组合 API 似乎是主要的新功能之一。

Composition API 是一组基于函数的附加 API, 允许灵活组合组件逻辑。

详情请看这里: https://vue-composition-api-rfc.netlify.com/

示例代码

<template>
  <button @click="increment">
    Count is:  count , double is:  double 
  </button>
</template>

<script>
import  ref, computed  from 'vue'

export default 
  setup() 
    const count = ref(0)
    const double = computed(() => count * 2)

    function increment() 
      count++
    

    return 
      count,
      double,
      increment
    
  

</script>

【讨论】:

将项目从 Vue2 升级到 Vue3 的最佳方法

】将项目从Vue2升级到Vue3的最佳方法【英文标题】:BestwaytoupgradeprojectfromVue2toVue3【发布时间】:2021-03-1011:18:50【问题描述】:我想将我的项目升级到vue3这是一个symfony前端使用vue作为独立组件的应用我以前从未进行过重大升级,... 查看详情

将插槽从 Vue 2 迁移到 Vue 3

】将插槽从Vue2迁移到Vue3【英文标题】:MigratingslotsfromVue2toVue3【发布时间】:2020-12-2405:04:06【问题描述】:我大致按照thisarticle做了一个组件可拖动:<template><divref="draggableContainer"class="draggable-container"><divclass="draggable-h... 查看详情

将 Django DB 从 SQLite 迁移到 MySQL 的最佳方法是啥?

...sqlite迁移到mysql,而那里的各种工具/脚本太多了,我无法轻松找到最安全和最优雅的解决方案。这在 查看详情

将 Web 应用程序从 2.0 迁移到 3.5 框架的最快和最佳方法?

】将Web应用程序从2.0迁移到3.5框架的最快和最佳方法?【英文标题】:fastestandbestapproachtomigrateawebapplicationfrom2.0to3.5framework?【发布时间】:2011-11-1312:38:23【问题描述】:我有一个使用2.0框架开发的应用程序,那么我需要将它迁移... 查看详情

vue2入门教程单页应用最佳实战[*****]

...-----看过其他的,再看作者的,很赞vue2入门教程单页应用最佳实战: 具体在 https://github.com/MeCKodo/vue-tutorial-----------------------------通过本文,我们可以学习到许多关于vue的特性。1.了解了vue-cli脚手架2.初步对webpack有了一些... 查看详情

vue2.0新手完全填坑攻略—从环境搭建到发布

1.vue是一个前端框架  特点:    1.数据绑定(在页面上进行输入inputv-model=‘msg’,绑定到页面代码msg:‘hello’,js的变动绑定到页面上{{msg}},)    2.组件化    3.灵活的指令、操作页面。它本身强调的是组件化... 查看详情

将文件夹和文件结构从 django 1.3 迁移到 django 1.4 的最佳方法是啥?

】将文件夹和文件结构从django1.3迁移到django1.4的最佳方法是啥?【英文标题】:Whatsisthebestwaytomigratefolderandfilesstructurefromdjango1.3todjango1.4?将文件夹和文件结构从django1.3迁移到django1.4的最佳方法是什么?【发布时间】:2012-04-0902:02:... 查看详情

将 Vue 2 迁移到 Vue 3,typeError: Vue is not a constructor

】将Vue2迁移到Vue3,typeError:Vueisnotaconstructor【英文标题】:MigratingVue2toVue3,typeError:Vueisnotaconstructor【发布时间】:2021-03-1321:37:40【问题描述】:如何将我的Vue2语法迁移到Vue3,因为我收到以下错误:TypeError:Vue不是构造函数。现在... 查看详情

Django:将项目从 sqlite 迁移到 PostgreSQL 的最佳实践是啥

】Django:将项目从sqlite迁移到PostgreSQL的最佳实践是啥【英文标题】:Django:WhatarethebestpracticestomigrateaprojectfromsqlitetoPostgreSQLDjango:将项目从sqlite迁移到PostgreSQL的最佳实践是什么【发布时间】:2011-03-2910:38:18【问题描述】:我需要... 查看详情

从vue1.x迁移—vue.js

 闲聊:      又到周五啦,明天不用上班啦哈哈哈哈哈,想想就好开心啊,嘻嘻,小颖这周三的早晨做个一个美梦,把自己愣是笑醒了,梦的大概剧情我忘记了,总之宝宝是被笑醒的,行了之后还傻笑了... 查看详情

从 NSDictionary 迁移到 Object 的最佳方式

】从NSDictionary迁移到Object的最佳方式【英文标题】:BestwaytomigratefromNSDictionarytoObject【发布时间】:2016-11-1801:40:03【问题描述】:我有一个符合NSCoding的对象(并存档到磁盘)。此对象(myMetrics)的一个属性是NSDictionary。在新版本的... 查看详情

迁移到 Vue 2.0 $on() 没有听到 $emit()

】迁移到Vue2.0$on()没有听到$emit()【英文标题】:MigratingtoVue2.0$on()isnothearing$emit()【发布时间】:2017-01-1204:16:17【问题描述】:背景:我正在从1.0迁移到2.0。目前,我正在使用嵌套组件。父母和孩子之间的关系非常好。但是,父组... 查看详情

2021-04-19从angularjs迁移到vue

...比较高,需要统一技术栈,全部使用vue重构。这里记录下迁移过程,希望能帮助有需要的人。本文记录从angularjs迁移到vue,后续angular迁移到vue单独成文main.js这部分直接重写在有注入$translate的地方导入vue-i18n的实例首先将模块从... 查看详情

从 Vue CLI(Vue 3)迁移到 Vite:未捕获(承诺中)类型错误:无法解构“未定义”的属性“默认”,因为它未定义

】从VueCLI(Vue3)迁移到Vite:未捕获(承诺中)类型错误:无法解构“未定义”的属性“默认”,因为它未定义【英文标题】:MigratingtoVitefromVueCLI(Vue3):Uncaught(inpromise)TypeError:Cannotdestructureproperty\'default\'of\'undefined\'asitisundefined【发... 查看详情

从 google appengine 数据存储迁移到 google cloud bigtable 的最佳方法是啥?

】从googleappengine数据存储迁移到googlecloudbigtable的最佳方法是啥?【英文标题】:Whatisthebestwaytomigratefromgoogleappenginedatastoretogooglecloudbigtable?从googleappengine数据存储迁移到googlecloudbigtable的最佳方法是什么?【发布时间】:2015-07-1615:... 查看详情

vue2.0新手入门—从环境搭建到发布(代码片段)

...件直接可以像乐高积木一样通过互相引用而组装起来 Vue2.0推荐开发环境  Homebrew1.0.6(Mac)、Node.js6.7.0、npm 查看详情

如何将数据从一个雪花实例迁移到另一个最佳性能选项?

】如何将数据从一个雪花实例迁移到另一个最佳性能选项?【英文标题】:Howtomigratedatafromonesnowflakeinstancetoanother,bestperformanceoption?【发布时间】:2019-12-1823:27:59【问题描述】:我是Snowflake的新手,想将几个数据库从USWEST的Snowflake... 查看详情

nodejs14.3.1版本可以创建vue2项目吗

您好,答复您的问题,是的,Node.js14.3.1版本可以创建Vue2项目。Node.js是一种开源的、跨平台的JavaScript运行环境,它可以在多种操作系统上运行,包括Windows、Linux、macOS等。Node.js14.3.1版本支持Vue2项目的创建,它提供了一系列的API... 查看详情