修复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 来生成针对新版本的补丁文件。

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

相关推荐
老男孩游戏时光5 小时前
Vue3 Composition API 最佳实践,别再乱写 setup 了
vue.js
+VX:Fegn08955 小时前
计算机毕业设计|基于java+ vue共享单车信息系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Bs_MoneyMagnet5 小时前
基于springboot+vue的非遗物质文化遗产系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
计算机毕设定制辅导-无忧学长6 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
专业程序开发源8 小时前
springboot篮球联赛管理系统13635-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
一 乐9 小时前
自习室座位预约管理系统|基于springboot + vue自习室座位预约管理系统(源码+数据库+文档)
java·vue.js·spring boot
晚安日记wanna9 小时前
Vue2 的 defineProperty 差在哪四层追问筛掉九成候选人
前端·vue.js·面试
dy17171 天前
vue2树节点刷新后定位到上一节点展开
vue.js
高级程序源1 天前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
VXbishe1 天前
【课程设计】基于SpringBoot的乡村政务服务系统的设计与实现-计算机毕设77011
javascript·vue.js·spring boot·python·php·课程设计·政务