最近做了一个公司官网nuxt框架升级的工作,记录一下容易踩到的坑供大家参考,主要记录的是升级所用技术的一个更换
vue2 -> vue3
nuxt3支持vue3,而nuxt2支持vue2,所以此次迁移需要将vue2升级为vue3。由于在项目中vue2使用@vue-class-component
来支持ts语法,而在vue3中对ts有更好的支持。
首先就是对 <script>添加lang=“ts”,其次是选择使用vue的组合式API或选项式API进行开发。
此次迁移选择使用组合式API,组合式API可以使用 <script setup> 语法也可以使用 setup() 选项,本次使用setup
选项和defineComponent()
API来支持ts对组件选项内类型进行正确推导。
IDE推荐使用vscode + volar插件(全面支持vue3语法和ts,相当于vue2的vetur,提供语法提示、高亮、以及template、script、style代码分隔等功能,详见:https://zhuanlan.zhihu.com/p/375096539 有的功能一定要正确的姿势(vscode版本等等)安装才会生效…),!!!使用volar一定要禁用vetur,不然volar会失效
Vuex3 -> Vuex4
在nuxt2中完全支持了vuex3,框架也会处理vue注册vuex,做到开箱即用。升级为nuxt3官方更建议是用对nuxt系列支持更高的pinia
。但是项目为了方便还是使用了vuex,将其升级为vuex4使用。vuex4对ts有更好的支持(其实也还好)
请求库@nuxt/axios -> ohmyfetch
配置更改:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。