从Vue 1.x到Vue的增量迁移2.我可以这样做吗?

时间:2017-03-25 13:44:51

标签: migration vue.js vuejs2 vue-router

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

最后几天,我在考虑如何将项目从Vue 1.x迁移到 Vue 2 。在我看来,有两种可能的方法:

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

    每个选项的约束

    1. 我无法停止我的网络应用程序,因为它在生产中是稳定的 环境,我必须添加功能和修复问题。
    2. 我使用Vue 1和Vue 2对组件进行了令人满意的测试 问题是不可能使用相同的Vue-router版本, 所以我无法共享路线并在组件之间导航......
    3. 我的网络应用程序的最佳选择可能是进行增量迁移,但是......可能吗?

      谢谢你的一切!

2 个答案:

答案 0 :(得分:2)

我认为有可能。

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

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

关于Vue路由器,我认为我们可以监视属性,然后在Vue路由器Vue 1和Vue路由器Vue 2中都进行router.push(“ some-url”)导航。等等

我的公司遇到了与您同样的麻烦,很难将整体移植到新平台中,而且似乎是不可能的。哈哈增量迁移仍然是此处的最佳选择。

答案 1 :(得分:0)

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

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

我不确定您的应用是谁,但中型应用的时间不应超过2天。

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

我应该从哪里开始迁移?

  • 首先在当前项目上运行迁移帮助程序。我们仔细地将一个高级Vue dev缩小并压缩成一个简单的命令行界面。每当他们识别出过时的功能时,他们会通知您,提供建议并提供更多信息的链接。

  • 之后,浏览侧栏中此页面的目录。如果您看到某个主题可能会受到影响,但迁移帮助程序没有捕获,请将其检出。

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

  • 到目前为止,您的应用应该完全迁移。如果你仍然渴望更多,你可以阅读本页的其余部分 - 或者从一开始就深入研究新的和改进的指南。由于您已经熟悉核心概念,因此许多部分都是可以浏览的。

顺便说一句,你不应该逐步升级应用程序,根据我的经验,这将是彻底的混乱。