广州极智
广州极智
  • 发布:2023-05-26 10:21
  • 更新:2023-07-25 08:56
  • 阅读:904

【报Bug】APP 编译 bug,模板的元素事件绑定的方法名字符长度超过 30 时,差量编译时间大幅增加, 长度为 35 时差量编译要 3 分钟以上

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 13.3.1 (22E261)

HBuilderX类型: 正式

HBuilderX版本号: 3.7.9

手机系统: Android

手机系统版本号: Android 13

手机厂商: 模拟器

手机机型: Android studio 模拟器

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

  <view class="page-root">  
    <button @click="click">  
      点击  
    </button>  

    <!-- 30 长度  -->  
    <button @click="veryLongveryLongveryLongclick1">  
      点击  
    </button>  

    <!-- 31 长度  -->  
    <button @click="veryLongveryLongveryLongclick11">  
      点击  
    </button>  

    <!-- 32 长度  -->  
    <button @click="veryLongveryLongveryLongclick111">  
      点击  
    </button>  

    <!-- 33 长度  -->  
    <button @click="veryLongveryLongveryLongclick1111">  
      点击  
    </button>  

    <!-- 34 长度  -->  
    <button @click="veryLongveryLongveryLongclick11111">  
      点击  
    </button>  

    <!-- 35 长度 -->  
    <!--   <button @click="veryLongveryLongveryLongveryLoclick">  
      点击  
    </button> -->  

    <!-- 37 长度 -->  
    <!--    <button @click="veryLongveryLongveryLongveryLongclick">  
      点击  
    </button> -->  
  </view>  
</template>  
<script>  
  export default {  
    data() {  
      return {}  
    },  
    onLoad() {  

    },  
    methods: {  
    }  
  }  
</script>  
<style scoped lang='scss'>  
</style>``` 

操作步骤:

  <view class="page-root">  
    <button @click="click">  
      点击  
    </button>  

    <!-- 30 长度  -->  
    <button @click="veryLongveryLongveryLongclick1">  
      点击  
    </button>  

    <!-- 31 长度  -->  
    <button @click="veryLongveryLongveryLongclick11">  
      点击  
    </button>  

    <!-- 32 长度  -->  
    <button @click="veryLongveryLongveryLongclick111">  
      点击  
    </button>  

    <!-- 33 长度  -->  
    <button @click="veryLongveryLongveryLongclick1111">  
      点击  
    </button>  

    <!-- 34 长度  -->  
    <button @click="veryLongveryLongveryLongclick11111">  
      点击  
    </button>  

    <!-- 35 长度 -->  
    <!--   <button @click="veryLongveryLongveryLongveryLoclick">  
      点击  
    </button> -->  

    <!-- 37 长度 -->  
    <!--    <button @click="veryLongveryLongveryLongveryLongclick">  
      点击  
    </button> -->  
  </view>  
</template>  
<script>  
  export default {  
    data() {  
      return {}  
    },  
    onLoad() {  

    },  
    methods: {  
    }  
  }  
</script>  
<style scoped lang='scss'>  
</style>``` 

预期结果:

方法名称超过 30 时,差量编译时间正常

实际结果:

方法名称超过 30 时,差量编译时间递增,超过 35 时,差量编译需要 35 分钟以上!

bug描述:

模板的元素事件绑定的方法名字符长度超过 30 时,差量编译时间大幅增加, 长度为 35 时差量编译要 3 分钟以上,29 或以下时正常;

以下代码示例最长方法名字是 35 个字符,差量编译时间需要 3 分钟以上。

附件有 demo 示例。

2023-05-26 10:21 负责人:DCloud_UNI_FXY 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 3.8.7.20230703 已修复。

YUANRJ

YUANRJ

感谢反馈,临时解决方案:替换附件文件到以下目录
HBuilderX根目录/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/weex-template-compiler

  • 广州极智 (作者)

    好的,谢谢回复

    2023-05-29 08:51

1***@qq.com

1***@qq.com

牛,以后测试又多一项,前端规范又严格一点。

要回复问题请先登录注册