修复uni-simple-router@2.0.7版本query参数null的bug

问题:query参数为null或者为空时,插件内部参数校验问题导致的会报错:TypeError: Cannot convert undefined or null to object at Function.keys

源码修改如下:

通过打补丁的方式修复query参数类型校验问题

1. 安装patch-package
yarn add patch-package --dev
2、修改依赖包

已经修复的uni-simple-router@2.0.7版本:https://github.com/dressLz/uni-simple-router

下载项目,安装依赖后,执行:yarn run build 打包

复制dist下的三个文件:

替换项目node_modules中uni-simple-router下的dist包

3、创建补丁:
npx patch-package uni-simple-router

这将会创建一个名为 patches 的新目录,并在其中放置一个包含你的更改的 .patch 文件。

4. 在构建过程中自动应用补丁

在你的 package.json 文件中的 scripts 部分添加如下脚本:

Json
"scripts": {"postinstall": "patch-package"
}

这样一来,每次执行 npm install 或 yarn 时,都会自动应用所有的补丁。

此时再启动项目,query参数的问题就会修复,一切运行正常。

⚠️注意uni-simple-router版本升级

当你依赖的库更新后,之前为旧版本创建的补丁可能无法直接应用到新版本上。patch-package 生成的补丁文件是基于特定版本的源代码差异制作的,如果依赖库在新版本中进行了结构或者逻辑上的改动,这些补丁可能不再匹配新的源代码。

因此,在升级依赖包之后,你需要:

  1. 首先检查新版本是否已经包含了你之前通过补丁修复的问题。
  2. 如果新版本没有解决该问题,你需要重新审视新版本的源码,并对新版本进行相应的修改。
  3. 修改完毕后,再次运行 npx patch-package uni-simple-router 来生成针对新版本的补丁文件。

总之,每次更新依赖库时,请确保检查和验证已有的补丁是否仍然适用,并根据需要创建新的补丁以适应新版本的库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使 a === 1 a === 2 a === 3 为 true 的几种“下毒“方法

前言 这算得上是近些年的前端网红题了,曾经对这种网红题非常抵触,认为非常没有意义。 看到了不少人有做分享,有各种各样的方案,有涉及到 JS 非常基础的知识点,也不得不感叹解题者的脑洞之大。 但是,拿来…

传奇服务器搭建

传奇服务器搭建 传奇是一款非常经典的游戏,自从它推出以来就深受玩家们的喜爱。如果你也想要在自己的服务器上搭建一个传奇,那么本文将为你提供一些有用的信息。 首先,我们需要知道什么是传奇服务器。简单来说,它就是一个能够让…

线程池c++实现

线程池c实现 概述 线程池(Thread Pool)是一种并发编程的设计模式,它用于管理和重复使用线程,以提高程序的性能和资源利用率。线程池通过维护一组预先创建的线程,这些线程可以在需要时被重复使用,而不是为…

HarmonyOS鸿蒙学习基础篇 - 什么是HarmonyOS

概述 HarmonyOS是华为开发的一款面向未来的全场景分布式智慧操作系统,将逐步覆盖18N全场景终端设备; 对消费者而言 HarmonyOS用一个‘统一的软件系统’ 从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来同意便利安全的智慧化全…

相关系数(皮尔逊相关系数和斯皮尔曼相关系数)

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:5.1 对数据进行描述性统计以及皮尔逊相关系数的计算方法_哔哩哔哩_bilibili 注:直接先看 ( 三、两个相关系数系数的比较 ) 部分&#x…

Qt事件过滤

1.相关说明 监控鼠标进入组件、出组件、点击组件、双击组件的事件,需要重写eventFilter函数 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-&…

数据库(MySQL库表操作)

目录 1.1 SQL语句基础(SQL命令) 1.1.1 SQL的简介 1.1.2 SQL语句的分类 1.1.3 SQL语句的书写规范 1.2 数据库操作 1.2.1 查看 1.2.2 自建库 1.2.3 切换数据库 1.2.4 删库 1.3 MySQL字符集 1.3.1 MySQL字符集包括: 1.3.2 utf8 和 u…

汽车制动器行业调查:市场将继续呈现稳中向好发展态势

汽车制动器是汽车的制动装置,汽车所用的制动器几乎都是摩擦式的,可分为鼓式和盘式两大类。鼓式制动器摩擦副中的旋转元件为制动鼓,其工作表面为圆柱面;盘式制动器的旋转元件则为旋转的制动盘,以端面为工作表面。 目前市场上主流的…

JAVA和C++ SECS/GEM300开发和概念

编译SECS示例程序 1. 示例程序使用默认路径: D:\SECS 稳定版\SECS Debug\ 2. 该操作分为俩步 ① 将C#的Secs库编译成设备相同Net版本。 如.net3.5、4.0、4.5等等 ② 编译金南瓜SECS demo程序 编译C#的SecsEquip.dll 1. 找到SecsEquip项目 项目文件 使用Visua…

麒麟V10挂载iso,配置yum源

本文介绍yum 如何挂载本地镜像源 1) 拷贝镜像到本地 2) 执行以下命令: # mount -o loop 镜像路径及镜像名字 /mnt(或 media) 挂载前 挂载后 3) 进入/etc/yum.repos.d(yum.repos.d 是一个目录,该目录是分析 RPM 软件…

操作系统的一些知识

一、操作系统 1、操作系统的定义 操作系统是一个搞管理的软件。 对下,要管理硬件设备;对上,要给软件提供稳定的运行环境。 操作系统是软件、硬件、用户之间交互的媒介。 2、常见的操作系统 Windows、Linux、Mac 3、操作系统的定位 我们平…

视频剪辑教程:如何批量制作滚动字幕,提升画面质感的方法

在视频剪辑中,字幕的处理是至关重要的一环。合适的字幕不仅能提供必要的信息,还能增强画面的视觉效果。下面详解云炫AI智剪如何批量制作滚动字幕,提升画面质感的方法,助您更好地完成视频剪辑工作。 批量制作滚动字幕的方法&#x…

Mysql详细安装步骤

Linux 安装 MySQL【超详细版】 ​编辑 我叫BuGu    2023-05-11 16:48:10 发布 一、安装 MySQL 的准备工作 1. 查看系统版本 cat /etc/redhat-release2. 查看系统是否已经安装过 MySQL 查看是否安装了 MySQL rpm -qa | grep mysql查看是否有安装 mariadb,该软件与 MySQ…

逆向分析C++类的本质

面向对象的语言中,类这种语言特性是最基本也是最重要的东西。这篇博客记录下从汇编角度去理解类的本质是什么。创建一个对象的本质又是什么。 一.C语言中的结构体和C的类有啥区别 我们知道在C语言中,有语言本身自带的一些内置类型。比如int&#xff0c…

kafka(一)——简介

简介 Kafka 是一种分布式、支持分区、多副本的消息中间件,支持发布-订阅模式,多用于实时处理大量数据缓存的场景,类似于一个“缓存池”。 架构 Producer:消息生产者;Consumer:消息消费者;Brok…

SpringCloud之Nacos的学习、快速上手

1、什么是Nacos Nacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案,用来实现配置中心和服务注册中心。 Nacos 快速开始 2、安装运行nacos nacos下载地址 下载地址: https://github.com/alibaba/nacos/rel…

【Linux】Linux系统的生态

Linux中安装软件 Linux中安装软件一般有三种方式: 源代码安装rpm包安装yum安装 1.源代码安装 有些软件本来就是开源的,如果不想用别人直接发布好的软件,我们就可以把源代码下载下来,在我们的环境中编译,自己安装 …

防伪技术行业研究:年复合增长率约为10%

近年来,我国各种新的防伪技术不断涌现,部分防伪技术已经达到国际先进水平,并广泛应用于产品防伪、票证防伪等领域,推动了防伪行业的持续、健康发展。 常见的产品防伪技术有:隐形分子技术、二维码防伪、揭开留底防伪、安…

「Kafka」Broker篇

「Kafka」Broker篇 主要讲解的是在 Kafka 中是怎么存储数据的,以及 Kafka 和 Zookeeper 之间如何进行数据沟通的。 Kafka Broker 总体工作流程 Zookeeper 存储的 Kafka 信息 启动 Zookeeper 客户端: [atguiguhadoop102 zookeeper-3.5.7]$ bin/zkCli.sh通…

使用 Docker 部署 的WAF: 雷池社区版

Web应用防火墙(WAF)是保护网站不受恶意攻击的关键组件。 使用 Docker 部署雷池社区版,可以大大简化安全管理工作。 一、WAF 雷池社区版简介 雷池社区版是一种流行的开源 Web 应用防火墙,它提供基本的安全保护,如防止…