当前位置: 首页 > news >正文

uniapp Vue2升级到Vue3,并发布到微信小程序的快捷方法

目录

  • 前言:升级项目的两种方式
  • 步骤
    • 一、新建项目 【选择-默认模版】
    • 二、修改-pages.json
    • 三、补充-缺少的文件
    • 四、修改-Main.js
      • 按照 [官方文档-vue2升级vue3迁移指南](https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html) 修改
    • 五、升级-uni-ui扩展组件的导入方式
      • 安装uni-modules Plugins
      • 安装方法
      • 兼容-手动注册自定义的组件
    • 六、兼容-网络层改造
      • 兼容-代理模式发生转变
      • 兼容-h5端网络请求代理-manifest.json里面配置proxy
      • js脚本文件内部是jsx语法的问题
      • 兼容-subPackages模块化
      • 兼容-子包组件引用失败的问题
      • 子包被忽略打包上传的问题
  • 升级-Vue3导致的页面渲染问题

前言:升级项目的两种方式

1、拉取官方一套完整的项目作为地基,将自己的页面拿进去替换
2、新建一个最简单的模版,重新配置依赖项。【技术栈差异项过多时,这个方案最佳,故本文采用这个方案】

步骤

一、新建项目 【选择-默认模版】

在这里插入图片描述

二、修改-pages.json

三、补充-缺少的文件

四、修改-Main.js

按照 官方文档-vue2升级vue3迁移指南 修改

1、网络层:app.config.globalProperties.$request = request

五、升级-uni-ui扩展组件的导入方式

安装uni-modules Plugins

1、为什么要使用uni-modules ?官方文档-什么是uni-modules
2、实践表明:
components的方式官方已经不再推荐,继续使用得话只能手动从uni-modules里面的子目录里面复制出来,还会遇到项目不兼容的问题。
比如官方文档更新了某个组件支持什么属性,但是由于项目内引入的组件是老版本,可能就会导致一系列的报错。
在这里插入图片描述 在这里插入图片描述

安装方法

打开hbuilder之后记得选择项目,被这个坑了好几次了。
在这里插入图片描述

兼容-手动注册自定义的组件

在这里插入图片描述
示例代码如下:

<script>
// ... existing code ...
import customLink from "@/components/customlink/customlink.vue";  // 确保路径正确
export default {components: {customLink  // 添加组件注册},data() {// ... existing code ...

六、兼容-网络层改造

兼容-代理模式发生转变

在这里插入图片描述

兼容-h5端网络请求代理-manifest.json里面配置proxy

"devServer": {"port": 8081,"proxy": {"/CpsWap": {"target": "http://alifen.4k5cs.cn/","changeOrigin": true},"/OrderWap": {"target": "http: //alifen.4k5cs.cn/","changeOrigin": true}}},

js脚本文件内部是jsx语法的问题

在这里插入图片描述

兼容-subPackages模块化

在主包中 注册 子包所需的全局网络对象

兼容-子包组件引用失败的问题

在这里插入图片描述

子包被忽略打包上传的问题

在这里插入图片描述

升级-Vue3导致的页面渲染问题

在这里插入图片描述

相关文章:

  • 用selenium4 webdriver + java 搭建并完成第一个自动化测试脚本
  • 什么是 金字塔缩放(Multi-scale Input)
  • iscsi服务端安装及配置
  • 【Unity笔记】Unity + OpenXR项目无法启动SteamVR的排查与解决全指南
  • Dataway在Spring Boot中的引入以及使用教程
  • OpenHarmony OS 5.0与Android 13显示框架对比
  • flutter_slidable 插件使用
  • 精益数据分析(15/126):解锁数据分析关键方法,驱动业务增长
  • 使用Python+OpenCV对视频抽帧保存为JPG图像
  • MongoDB常用命令
  • 【JAVA】十三、基础知识“接口”精细讲解!(二)(新手友好版~)
  • uniapp-商城-33-shop 布局搜索页面以及u-search
  • 云原生--基础篇-3--云原生概述(云、原生、云计算、核心组成、核心特点)
  • 【2025最新Java面试八股】如何理解MySQL的MVCC机制?
  • DeepSeek和Excel结合生成动态图表
  • 「数据可视化 D3系列」入门第十二章:树状图详解与实践
  • K8S探针的应用
  • Rook 部署 Ceph 集群及 Kubernetes 存储对接实战
  • 【微服务】SpringBoot制作Docker镜像接入SkyWalking详解
  • Anaconda 与 Miniconda 的差异详解
  • 七大外贸省市,靠什么撑起一季度的出口?
  • 董明珠连任格力电器董事,回应管理层年轻化
  • 洛阳白马寺存争议的狄仁杰墓挂牌,当地文物部门:已确认
  • 新质生产力的宜昌解法:抢滩“高智绿”新赛道,化工产品一克卖数千元
  • 宁波一季度GDP为4420.5亿元,同比增长5.6%
  • 普京签署有关批准俄罗斯与伊朗全面战略伙伴关系条约的联邦法令