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

react打包发到线上报错Minified React error #130

开发过程中遇到一个问题,记录一下
本地打包发布正常,发测试环境正常,可是通过Jenkins打包发布线上报错

报错信息

index-67fbbd81.js:39 Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
打开报错信息发现报错
在这里插入图片描述
由于这次更新内容比较多,开始怀疑是不是本地代码问题,
组件undefined一般是引入导出组件名问题。让cursor检查了一遍代码,发现代码没有问题。
又从git上重新拉取代码,下载依赖,运行,也是没问题。
本地生产环境没问题,线上报错,说明问题很可能出在环境差异上。
对比了一下Jenkins上的node版本,react版本等,发现版本号一致。
猜想可能是使用本地包的问题,在服务器上单独下载了依赖,导致线上本地依赖包不一致。
原本的Jenkins打包命令

yarn install
yarn build

yarn install 不是严格模式,可能会根据 semver 自动升级依赖,导致和本地 node_modules 不一致。
如果 Jenkins 的 node_modules 目录有残留,可能会混入旧依赖,导致打包产物和本地不一样。
更改后的Jenkins命令

rm -rf node_modules
yarn cache clean
yarn install --frozen-lockfile
yarn build

rm -rf node_modules:彻底清理依赖,避免残留
yarn cache clean:清理 yarn 缓存
yarn install --frozen-lockfile:严格按照 yarn.lock 安装依赖,保证和本地一模一样
yarn build:正常打包
这样可以100% 保证 Jenkins 构建出来的依赖和本地完全一致,不会因为依赖包差异导致线上 undefined 或 React #130 错误。
很多线上“本地没问题,线上报错”的根因,都是因为 CI/CD 没有严格依赖锁定
接下来重新用用Jenkins打包----正常-----线上-----正常!
完美解决!

http://www.dtcms.com/a/273815.html

相关文章:

  • 在HP小机上跑了1432天的Oracle RAC,能不能重启?
  • 【ECharts】多个ECharts版本共存解决方案
  • 日历插件-FullCalendar的详细使用
  • git lfs部署及报错处理
  • 静态路由综合配置实验报告
  • 如何安装和配置Autoptimize插件以提高WordPress网站访问速度
  • Web应用文件上传安全设计指南
  • Redis概念和基础
  • Apache Cloudberry 向量化实践(二):如何识别和定位向量化系统的性能瓶颈?
  • Django 模板(Template)
  • 你会用Github Copilot 吗 ——《内置功能详解》
  • h2数据库数据文件备份(防止异常断电导致的数据库文件无法使用,元数据块损坏等问题)
  • Oracle RAC 11.2.0.4 更新SYSASM和SYS密码
  • Oracle字符类型详解:VARCHAR、VARCHAR2与CHAR的区别
  • 在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题
  • 基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建
  • 鸿蒙app 开发中的 map 映射方式和用法
  • Deepseek-如何从零开始开发需要专业知识的prompt
  • 从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
  • [特殊字符] 扫描式处理:Python 自动提取 PDF 中关键词相关表格并导出为 Excel
  • Ubuntu 22.04与24.04 LTS版本对比分析及2025年使用建议
  • 嵌入式学习笔记--MCU阶段--day03中断
  • sqli-labs靶场通关笔记:第5-6关 报错注入
  • Android原生TabLayout使用技巧
  • DNS(Domain Name System,域名系统)
  • 11. TCP 滑动窗口、拥塞控制是什么,有什么区别
  • 正义的算法迷宫—人工智能重构司法体系的技术悖论与文明试炼
  • KeyError: “No object named ‘MambaIRv2Model‘ found in ‘model‘ registry!“
  • iOS 数组如何设计线程安全
  • netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)