修复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.hqwc.cn/news/417359.html

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

相关文章

黑色金属厂房3d数据可视化综合平台进一步保障生产效率

在当今的数字化时代,钢铁厂面临着降本增效、绿色环保、安全第一等发展问题,亟需寻找更有效的解决方案,数字孪生公司深圳华锐视点利用先进的数字孪生可视化、web3D开发和VR虚拟仿真技术制作数字孪生钢铁厂可视化管控平台,实现对钢铁…

循环神经网络-单变量序列预测详解(pytorch)

参考博客 文章目录 (1)导入所需要的包(2)读取数据并展示(3)数据预处理(4)划分训练集和测试集(5)构建RNN回归模型(6)构造训练函数&…

C++总结笔记

1. 简介 1、面向对象程序设计 面向对象的四大特性 1)封装 2)继承 3)多态 4)抽象 2、标准库 标准C由三个部分组成 1)核心语言:提供了所有的构件块 2)C标准库:提供了大量的函…

【漏洞复现】Hikvision SPON IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)

文章目录 前言声明一、系统简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 声明 请勿利用文章内的相关技术从事非法测试,由于传播…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品,主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作,可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目,与大型复杂环境、各种开发工具集成…

通过semanage管理SELinux

1.简介 semanage命令是用来查询与修改SELinux默认目录的安全上下文。 SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 2.操作 如不知怎么操作,可以 --help 查看使用方法 大概的意思&…

C++实战:类的包含编译模型

文章目录 一、实战概述二、实战步骤(一)C普通类的包含编译模型1、创建普通类定义文件2、创建普通类实现文件3、创建主程序文件4、运行主程序,查看结果 (二)C模板类的包含编译模型1、创建模板类定义文件2、创建模板类实…

【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]

阅读导航 引言一、简介二、成员函数三、使用示例四、C模拟实现五、std::shared_ptr的线程安全问题六、总结温馨提示 引言 在 C 动态内存管理中,除了 auto_ptr 和 unique_ptr 之外,还有一种智能指针 shared_ptr,它可以让多个指针共享同一个动…

伊恩·斯图尔特《改变世界的17个方程》傅里叶变换笔记

主要是课堂的补充(yysy,我觉得课堂的教育模式真有够无聊的,PPT、写作业、考试,感受不到知识的魅力。 它告诉我们什么? 空间和时间中的任何模式都可以被看作不同频率的正弦模式的叠加。 为什么重要? 频率分量…

投标文件-优化--word快捷键设置

大纲导航快捷键的设置 “导航窗格”功能是指的如上图所示的功能,在写标书的时候,时刻需要关注你的目录大纲级别是否设置正确,文章层级目录是否正确,每次都是需要“视图--导航窗格”点,把人烦的不行,如何优化…

WordPress怎么去除jquery和CSS静态文件链接中的版本号?附2种方法

我们很多WordPress网站默认情况下所加载的jquery和CSS静态文件链接中都会带有相应的版本号,比如boke112百科使用的YIA主题,加载CSS文件时就会在链接地址后面加上?ver2.7,即是style.css?ver2.7 除了CSS文件会加上版本号外,加载主…

含并行连结的网络(GoogLeNet)

目录 1.GoogLeNet 2.代码 1.GoogLeNet inception不改变高宽,只改变通道数。GoogLeNet也大量使用1*1卷积,把它当作全连接用。 V3耗内存比较多,计算比较慢,但是精度比较准确。 2.代码 import torch from torch import nn from t…