开发者问题收集

Vue2 组件可以在 Vue3 中使用吗

2020-08-31
7528

我目前有一个 Vue2 组件库,我通过私有 npm repo 在多个项目中创建和使用这个库。我现在正在用 Vue3 启动一个新项目,但如果可能的话,我想使用旧组件。我可以混合使用这样的版本吗?此外,组件可以以相反的方式混合吗(Vue2 应用程序中的 Vue3 组件)?

1个回答

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-migration.vuejs.org/breaking-changes/introduction.html#breaking

听起来,Vue2 将会有另一个 (LTS) 版本来解决兼容性问题。

官方建议 是仍然使用 Vue2 开始新项目。

Daniel
2020-08-31