当前位置:网站首页>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
- PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
- Lie cow count (spring daily question 53)
- 运算符
- LeetCode 1774. The dessert cost closest to the target price is one question per day
- LocalStorage和SessionStorage
- Skimage learning (1)
- 自定义View必备知识,Android研发岗必问30+道高级面试题
- LeetCode 1696. Jumping game VI daily question
- 科普达人丨一文弄懂什么是云计算?
猜你喜欢
Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
Sator推出Web3游戏“Satorspace” ,并上线Huobi
Reflections on "product managers must read: five classic innovative thinking models"
User defined view essential knowledge, Android R & D post must ask 30+ advanced interview questions
NeRF:DeepFake的最终替代者?
最新2022年Android大厂面试经验,安卓View+Handler+Binder
QT 图片背景色像素处理法
直接上干货,100%好评
DNS 系列(一):为什么更新了 DNS 记录不生效?
MRS离线数据分析:通过Flink作业处理OBS数据
随机推荐
[Seaborn] combination chart: facetgrid, jointgrid, pairgrid
测试用例管理工具推荐
LeetCode 1774. 最接近目标价格的甜点成本 每日一题
SIGGRAPH 2022最佳技术论文奖重磅出炉!北大陈宝权团队获荣誉提名
ByteDance Android gold, silver and four analysis, Android interview question app
LeetCode 1186. 删除一次得到子数组最大和 每日一题
Sator launched Web3 game "satorspace" and launched hoobi
《产品经理必读:五种经典的创新思维模型》的读后感
从DevOps到MLOps:IT工具怎样向AI工具进化?
node:504报错
AI来搞财富分配比人更公平?来自DeepMind的多人博弈游戏研究
如何在软件研发阶段落地安全实践
Number of exchanges in the 9th Blue Bridge Cup finals
电脑无法加域,ping域名显示为公网IP,这是什么问题?怎么解决?
skimage学习(1)
[designmode] flyweight pattern
LeetCode 403. 青蛙过河 每日一题
NeRF:DeepFake的最终替代者?
The top of slashdata developer tool is up to you!!!
QML beginner