当前位置:网站首页>Jenkins发布uniapp开发的H5遇到的问题
Jenkins发布uniapp开发的H5遇到的问题
2022-07-07 15:37:00 【华为云】
目录
前言:
背景:由于历史原因,公司有个历史项目使用vue开发的公众号H5,原生开发的微信小程序。两端功能的完全一样,但是需要维护两个项目,最近客户提了需求需要修改部分功能,博主接到需求后,觉得维护两套代码不仅是重复开发,测试起来也麻烦,因为之前是两个人开发不同端的缘故,导致大部分的bug都是因为两端不一致产生的。为了节省时间和维护成本,提升开发测试效率,在反复对比调研,最终选择了uniapp技术框架融合两端进行重构。
一、问题:
公司使用Jenkins发布公众号H5,在使用uniapp之前,发布一直很稳定,更换uniapp后,发布公众号H5偶尔就会莫名的出现异常,搞得我和运维都很头疼,报错如下:
二、解决经历:
异常抛出无法定位是前端问题还是运维部署的问题,一开始只能走常规的Jenkins报错搜索流程,但是这个很奇怪Jenkins发布正常,只是项目没办法运行,只有控制台上诉截图的错,所以根本就找不到对应的解决方案,只能继续在猜测是不是Jenkins这里是不是有问题。
1、思路1(不成功):
因为本地编译,本地打包发布都可以成功,后来猜测是不是本地的node版本跟Jenkins线上配置的node版本不对呢,于是我们进行了又一次的尝试,将本地的node版本修改到跟线上一样尝试排错,不试还好,一试吓一跳,试过之后本地打包也有问题了。还好之前做了一下备份,不然备用的发版方案都没有了...
2、 思路2(成功):
再调整思路,本地调试发现报错的地方指向的位置用的 async+await ,于是就怀疑是不是node中解析ES6转ES5的babel插件版本有问题,因为我本地一直用的是yarn,这次尝试删除 node-modules,node 版本还是固定在 14,使用npm install,然后npm run serve试试,最后可以了.
三、原因分析:
yarn install 报错的原因是因为 npm 和 yarn 安装依赖时合并策略不同,导致依赖版本与预期不同导致。
如果仍要通过 yarn 管理依赖,可修改项目根目录 package.json 中 devDeps 依赖 @babel/runtime 的版本为 ~7.17.9,并增加
锁定该依赖版本。
总结
问题发现到解决,一开始方向不对以为是Jenkins的问题,浪费了些精力,然后调整方向,一直到之后找到解决方案。虽然很曲折,但还是很开心。故记录一下。希望这个记录能帮到看到这篇文章的小伙伴。
边栏推荐
- Sator推出Web3游戏“Satorspace” ,并上线Huobi
- 【视频/音频数据处理】上海道宁为您带来Elecard下载、试用、教程
- 【饭谈】那些看似为公司着想,实际却很自私的故事 (一:造轮子)
- Pisa-Proxy SQL 解析之 Lex & Yacc
- DNS 系列(一):为什么更新了 DNS 记录不生效?
- [designmode] flyweight pattern
- 一文读懂数仓中的pg_stat
- LeetCode 1986. 完成任务的最少工作时间段 每日一题
- PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
- The latest interview experience of Android manufacturers in 2022, Android view+handler+binder
猜你喜欢

《产品经理必读:五种经典的创新思维模型》的读后感

Test case management tool recommendation

QT中自定义控件的创建到封装到工具栏过程(二):自定义控件封装到工具栏

The process of creating custom controls in QT to encapsulating them into toolbars (II): encapsulating custom controls into toolbars

Skimage learning (3) -- adapt the gray filter to RGB images, separate colors by immunohistochemical staining, and filter the maximum value of the region

掌握这个提升路径,面试资料分享

QT 图片背景色像素处理法

User defined view essential knowledge, Android R & D post must ask 30+ advanced interview questions

谈谈 SAP 系统的权限管控和事务记录功能的实现

Arduino 控制的双足机器人
随机推荐
浅浅理解.net core的路由
Seaborn data visualization
skimage学习(2)——RGB转灰度、RGB 转 HSV、直方图匹配
[Huang ah code] Why do I suggest you choose go instead of PHP?
LeetCode 213. 打家劫舍 II 每日一题
AI来搞财富分配比人更公平?来自DeepMind的多人博弈游戏研究
Talk about the realization of authority control and transaction record function of SAP system
The latest interview experience of Android manufacturers in 2022, Android view+handler+binder
dapp丨defi丨nft丨lp单双币流动性挖矿系统开发详细说明及源码
[Seaborn] combination chart: pairplot and jointplot
Lie cow count (spring daily question 53)
Process from creation to encapsulation of custom controls in QT to toolbar (I): creation of custom controls
最新2022年Android大厂面试经验,安卓View+Handler+Binder
Sort out several important Android knowledge and advanced Android development interview questions
LeetCode 300. Daily question of the longest increasing subsequence
谈谈 SAP 系统的权限管控和事务记录功能的实现
mysql实现两个字段合并成一个字段查询
LeetCode 312. Poke balloon daily
QT 图片背景色像素处理法
直接上干货,100%好评


