当前位置:网站首页>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的问题,浪费了些精力,然后调整方向,一直到之后找到解决方案。虽然很曲折,但还是很开心。故记录一下。希望这个记录能帮到看到这篇文章的小伙伴。
边栏推荐
- skimage学习(3)——Gamma 和 log对比度调整、直方图均衡、为灰度图像着色
- LeetCode 1626. 无矛盾的最佳球队 每日一题
- Skimage learning (1)
- Proxmox VE重装后,如何无损挂载原有的数据盘?
- Master this set of refined Android advanced interview questions analysis, oppoandroid interview questions
- LeetCode 213. 打家劫舍 II 每日一题
- Read PG in data warehouse in one article_ stat
- Shallow understanding Net core routing
- LeetCode 1186. Delete once to get the sub array maximum and daily question
- LeetCode 1626. The best team without contradiction
猜你喜欢

Shallow understanding Net core routing

Sator launched Web3 game "satorspace" and launched hoobi

Sator a lancé le jeu web 3 "satorspace" et a lancé huobi

time标准库

测试用例管理工具推荐

Sator推出Web3遊戲“Satorspace” ,並上線Huobi

Sator launched Web3 game "satorspace" and launched hoobi

Pisa-Proxy SQL 解析之 Lex & Yacc

Sort out several important Android knowledge and advanced Android development interview questions

QML初学
随机推荐
浅浅理解.net core的路由
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
[Seaborn] implementation of combined charts and multi subgraphs
【源码解读】| LiveListenerBus源码解读
浅谈 Apache Doris FE 处理查询 SQL 源码解析
低代码(lowcode)帮助运输公司增强供应链管理的4种方式
Pisa-Proxy SQL 解析之 Lex & Yacc
LeetCode 1031. 两个非重叠子数组的最大和 每日一题
Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
服务器彻底坏了,无法修复,如何利用备份无损恢复成虚拟机?
Sator推出Web3游戏“Satorspace” ,并上线Huobi
Mrs offline data analysis: process OBS data through Flink job
LeetCode 1696. Jumping game VI daily question
【图像传感器】相关双采样CDS
[Seaborn] combination chart: facetgrid, jointgrid, pairgrid
LeetCode 403. Frog crossing the river daily
NeRF:DeepFake的最终替代者?
Test case management tool recommendation
Skimage learning (2) -- RGB to grayscale, RGB to HSV, histogram matching
The process of creating custom controls in QT to encapsulating them into toolbars (II): encapsulating custom controls into toolbars


