【问题标题】:Incremental migration from Vue 1.x to Vue 2. Could I do it?从 Vue 1.x 到 Vue 2 的增量迁移。我能做到吗?
【发布时间】:2017-03-25 13:44:50
【问题描述】:

我和我的团队有一个使用 Vue 1Vue-router 0.7 的中型网络应用程序。

前几天我在考虑如何将我的项目从 Vue 1.x 迁移到 Vue 2。我认为有两种可能的方法:

  1. 停止我的 Web 应用程序开发并将所有平台迁移到 几周。
  2. 执行增量迁移。一些组件将使用 Vue 1 和 其他组件将使用 Vue 2。

每个选项的约束

  1. 我无法停止我的 Web 应用程序,因为它在生产环境中很稳定 环境,我必须添加功能并修复问题。
  2. 我使用 Vue 1 和 Vue 2 对组件进行了令人满意的测试。 问题是无法使用相同的 Vue-router 版本, 所以我无法在组件之间共享路线和导航...

我的网络应用程序的最佳选择可能是进行增量迁移,但是...这可能吗?

谢谢你所做的一切!

【问题讨论】:

    标签: migration vue.js vuejs2 vue-router


    【解决方案1】:

    我认为这是可能的。

    关键是我们必须确保 Vue 2.x 和 Vue 1.x 能够相互传递数据,并且反应性应该能够避免复杂的代码块。

    我在这里做了一个例子:https://trandinhkhang.github.io

    关于 Vue 路由器,我认为我们可以观察一个属性,然后在 Vue 路由器 Vue 1 和 Vue 路由器 Vue 2 中执行 router.push("some-url") 进行导航。等等。

    我的公司和你的公司有同样的麻烦,将单体应用迁移到新平台很困难,而且似乎不可能。洛兹。增量迁移仍然是这里的最佳选择。

    【讨论】:

    • 只需编辑我关于 vue 路由器的答案。基于 Vue 1.x 和 Vue 2.x 之间传递数据的可能性,我认为我们可以用最少的复杂代码行来解决剩下的问题。
    【解决方案2】:

    VueJS 1.x 和 2.x 完全不同。 2.0 是从头开始编写的。 VueJS 有一个很棒的 migration helper 可以使用,它会为你做很多工作。

    阅读以下迁移指南:https://vuejs.org/v2/guide/migration.html

    我不确定你的应用是谁,但对于中等规模的应用来说,它应该不会超过 2 天。

    以下是他们官方文档中的几点:

    我应该从哪里开始迁移?

    • 首先在当前项目上运行迁移助手。我们已经仔细地将高级 Vue 开发人员缩小并压缩成一个简单的命令行界面。每当他们发现某个过时的功能时,他们都会通知您、提供建议并提供指向更多信息的链接。

    • 之后,在边栏中浏览此页面的目录。如果您看到一个您可能会受到影响的主题,但迁移助手没有捕捉到,请查看它。

    • 如果您有任何测试,请运行它们,看看哪些仍然失败。如果您没有测试,只需在浏览器中打开应用,并在浏览时留意警告或错误。

    • 现在,您的应用程序应该已完全迁移。如果您仍然渴望更多,您可以阅读本页的其余部分 - 或者从头开始深入了解新的和改进的指南。许多部分都可以略读,因为您已经熟悉核心概念。

    顺便说一句,您不应该逐步升级应用程序,根据我的经验,这将是一团糟。

    【讨论】:

      猜你喜欢
      • 2017-12-23
      • 2020-12-24
      • 2018-08-10
      • 2017-03-11
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多