问题描述
我目前拥有一个Vue2组件库,该组件已通过一个私有的npm存储库创建并在多个项目中使用。我现在在Vue3中开始一个新项目,但如果可能的话,我想使用旧组件。我可以混合这样的版本吗?另外,可以以相反的方式混合组件(Vue2应用程序中的Vue3组件)吗?
解决方法
Vue2组件可以与Vue3一起使用,Vue3组件 可以在Vue2中使用。
但是...
只要您使用基于Classic Vue Js类的API,就应该没有问题。尽管已经重建了一些基础技术,但Vue团队仍在努力使其兼容,尽管我确信这里和那里都会有一些优势。
问题将在于您是否使用Composition API制作组件。 composition API是为Vue3构建的,尽管您可以通过插件在Vue2中获得类似的体验,但是您很可能会遇到问题。
此外,即使您没有使用Composition API,您也可能最终会使用确实依赖它的插件,而最终可能不会针对Vue2进行回归测试。
Vue3仍在RC
在撰写本文时,Vue 3仍作为RC版本发布。这可能很快就会改变,不能保证。
如果您将以与Vue2相同的方式使用Vue3,则切换几乎没有好处。如果您要使用新功能(例如Composition API),则可能最终无法100%兼容。
重大更改列表
https://v3.vuejs.org/guide/migration/introduction.html#breaking
听起来,Vue2将发布另一个(LTS)版本,以解决兼容性问题。
官方推荐是继续使用Vue2启动新项目。