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

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导致的页面渲染问题

在这里插入图片描述

http://www.xdnf.cn/news/1104.html

相关文章:

  • CSS学习笔记
  • Ubuntu数据连接访问崩溃问题
  • 百度 Al 智能体心响 App 上线
  • \r在C语言中是什么意思(通俗易懂,附带实例)
  • C语言高频面试题——嵌入式系统中中断服务程序
  • Python基于语音识别的智能垃圾分类系统【附源码、文档说明】
  • 如何批量为多个 Word 文档添加水印保护
  • C++手撕STL-其叁
  • MongoDB 集合名称映射问题
  • 【Lua】Lua 入门知识点总结
  • Debian 12.10 root 登录失败,两步解决!
  • 用于共显著目标检测的记忆辅助对比共识学习(翻译)
  • VSCode中安装GitGraph
  • 准确--Tomcat更换证书
  • JavaScript性能优化实战(2):DOM操作优化策略
  • 【Linux网络】构建基于UDP的简单聊天室系统
  • 通过dogssl申请ssl免费证书
  • 第五篇:linux之vim编辑器、用户相关
  • list底层原理
  • leetcode--两数之和 三数之和
  • AES-128、AES-192、AES-256 简介
  • MYSQL的binlog
  • rk3568main.cc解析
  • NumPyro:概率编程的现代Python框架深度解析
  • “思考更长时间”而非“模型更大”是提升模型在复杂软件工程任务中表现的有效途径 | 学术研究系列
  • tomcat集成redis实现共享session
  • 文件上传漏洞3
  • 路由与路由器
  • Centos虚拟机远程连接缓慢
  • Docker 与 Docker-Compose 的区别