l***@163.com
l***@163.com
  • 发布:2022-04-22 20:16
  • 更新:2022-04-28 14:20
  • 阅读:469

【报Bug】最新版的hbuilder出现了重大的微信小程序打包bug

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10 系统

HBuilderX版本号: 3.4.6

App下载地址或H5⽹址: 我们是微信小程序,这个bug和app没啥关系,是你们的打包那个出了问题,我切换到上一个版本打包就正常了,v-if打包这块比对当前版本和上一个版本的代码应该就能得到结果

示例代码:

下边的带啊吗是我在谷歌浏览器的console上边执行的,结果为true;
var img='1231241431.jpeg'
img != null && img != '' &&!img.endsWith('mp3')&&!img.endsWith('mp4')
true

下边的代码为项目中被异常打包的代码块  
        <view v-if="img != null && img != '' && !img.endsWith('mp3') && !img.endsWith('mp4')" :style="{backgroundImage: imgUrl(img) }"  
         @click="clickImage(img)" style="height: 340upx;width: 680upx;margin: 0 auto;background: rgba(255, 255, 255, 0.2) center no-repeat;background-size: 100% 100%;overflow: hidden;border-radius: 8upx;">  
            <view class="between" style="height:70upx;background: rgba(0, 0, 0, 0.2)">  
                <view style="margin-left: 28upx;font-size: 28upx;line-height: 40upx;">{{ taskName }}</view>  
                <view style="display: flex;flex-direction: row;align-items: center;">  
                    <image src="../../../../static/score16X16.png" style="width: 32upx;height: 32upx;"></image>  
                    <view style="font-size: 24upx;line-height: 40upx;margin: 0 32upx 0 10upx;">{{ score }}</view>  
                </view>  
            </view>  
        </view>

--------------------------------------------------------------具体打包错误的地方的代码如下
v-if="img != null && img != '' && !img.endsWith('mp3') && !img.endsWith('mp4')" 这段代码打包错误,img是一个url图片地址字符串,这个判断条件在谷歌浏览器和微信小程序上均是true,经hbuilder打包之后就莫名其妙的失效了,我们的项目页面中又很多复杂的v-if判断,所以这次的发布到线上的产品出现了严重的后果,因为我们这次就改了一些文案修改和简单的逻辑,所以才发布到线上的,没想到造成了严重的后果;

操作步骤:

代码示例中有详细描述

预期结果:

复杂的v-if判断条件打包后显示异常(打包成微信小程序)

实际结果:

这个没有结果,就是v-if的判断条件写的带上"!",并且写的复杂了,就会打包异常,我把hbuilder回退到上一个版本就打包正常;

bug描述:

hbuilder的版本:3.4.6.20220420

bug描述:我们用hbuilder开发微信小程序(uniapp);上次打包是4月17号,项目一切正常,然后昨天改了一些东西再次打包提交审核(4月20日更新了hbuilder),发布到线上就出现了一些莫名其妙的问题,今天下午5点收到bug,然后找来找去终于找到原因了,一些页面中的v-if的判断条件写的复杂的时候,就会莫名其妙不起作用,然后导致我们的小程序产品显示莫名其妙异常。后来又把之前4月17号正常的项目的代码新检出一个分支进行打包,发现运行结果显示异常,然后我把hbuilder切换到上一个版本再次打包4月17号的代码,测试结果正常,然后我用老的hbuilder打包我昨天开发的最新的代码,测试结果也是正常,综上所述:可以断定就是我4月20号更新的hbuilder导致了这一系列的问题。这个bug也太重大了,如果一些判断条件复杂的项目使用你们现在最新的hbuilder打包小程序发布,后果不敢想象,在下边给你服饰我的代码片段;

2022-04-22 20:16 负责人:DCloud_UNI_GSQ 分享
已邀请:
l***@163.com

l***@163.com (作者)

更新最新的hbuilder的小伙伴打包项目的时候要注意了

DCloud_UNI_GSQ

DCloud_UNI_GSQ

排查中,可以先将这部分放到computed中试试

DCloud_UNI_GSQ

DCloud_UNI_GSQ

问题确认,已加分,后续修复。

HBuilderX alpha 3.4.8 已修复

3.4.7 版本临时解决方案,执行 npx patch-hbuilderx-plugins 修复

该问题目前已经被锁定, 无法添加新回复