当前位置: 首页 > 科技观察

Vue3升级指南,升级没那么难

时间:2023-03-20 15:42:28 科技观察

Vue3发布在即,我们可以期待一个更快、更小、更易于维护的版本,其中包含许多令人兴奋的新功能。这些通常是对现有API的添加和改进。没有什么能阻止您使用Vue3开始一个新的应用程序。在本文中,我将向您展示如何通过升级您的应用程序抢先一步并开始试验新的API。如果您对升级后的应用程序感兴趣,请查看我的TodoMVC应用程序,它是使用CompositionAPI编写的。TodoMVC:https://github.com/blacksonic/todomvc-vue-composition-api使用CLI我强烈建议对Vue项目使用官方CLI。除了开发和部署工具,它简化了升级到单行命令:vueaddvue-nextVueNext插件不仅升级和安装新的依赖,而且修改代码以兼容版本3。依赖安装插件将升级包vue,vuex,vue-router,eslint-plugin-vue和@vue/test-utils到下一个主要版本。此外,一个名为@vue/compiler-sfc的新包出现在开发依赖项中。那有什么好处呢?它将新的Vue单文件组件编译成可运行的Javascript代码。代码更改让我们看一下代码中发生了什么变化。人们首先注意到的是Vue主包中不再有默认导出。名为exportcreateApp创建一个新的Vue应用程序,就像Vue2中的构造函数一样。插件设置将使用use方法(而不是构造函数的参数)移动到应用程序实例。$mount方法失去了它的美元符号,但行为方式相同。插件采用工厂模式:不再使用带有new关键字的构造函数。不需要调用newVuex.Store,而是需要createStore工厂方法。不再可能将商店的默认导出作为插件传递。路由插件遵循相同的模式:新的VueRouter成为对createRouter的调用,并且必须保留全局插件设置。在新版本中,您始终必须定义历史类型。您可以从createWebHashHistory、createMemoryHistory和createWebHistory中进行选择。基本上就是这样,该应用程序已在新的Vue版本上启动并运行。只需一个bash命令即可完成所有操作。其他一切都应该使用旧语法,因为旧API仍然完好无损。大小如果您检查构建命令的输出大小,您会注意到轻微下降:43.75KiB->40.57KiB。这是将默认Vue实例保留为命名导出的结果。Webpack和Rollup等构建工具可以摇树(删除未使用的代码)命名导出,但不能默认导出。如果您没有CLI,则必须将vue-loader或rollup-plugin-vue升级到下一个主要版本并添加@vue/compiler-sfc包。这里不再有魔法,您必须手动完成所有操作。您还必须手动更改代码,没有用于搜索代码库和更新语法的工具。现场体验如果你不想修改你的项目,但有兴趣尝试新版本,就试试这个现场体验吧。在线体验:https://codesandbox.io/s/github/blacksonic/todomvc-vue-composition-api/tree/master/?from-embedEnd升级过程中必须做的修改我们已经到了最后.这些修改由VueCLI自动完成。您现在所要做的就是开始尝试Vue3必须提供的所有新功能:新的反应系统、CompositionAPI、Fragments、Teleport和Suspense。