Web默默
Web默默
  • 发布:2023-10-23 16:53
  • 更新:2023-12-12 00:17
  • 阅读:3285

【报Bug】renderjs中使用bigint等新特性,编译到app会报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: 全部

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

编译到任何手机均出现

操作步骤:

在renderjs中写const aa = 123n;然后运行到app,比现

预期结果:

正常编译通过

实际结果:

Big integer literals are not available in the configured target environment ("es2015")

bug描述:

renderjs中使用bigint等新特性,编译到app会报错。
在setup中写bigint新特性则不会,在renderjs中写就会。
你可能会问题能不能不要用bigint或者第三方bigint的兼容方案,答:不能。因为业务需求需要使用到的第三方依赖库中使用了bigint。
尝试过在vite.config中设置build: {target: "es2022"},esnext,es2020均无法解决,可以得知,编译普通代码是没问题的,只是编译renderjs代码才会出现此问题

2023-10-23 16:53 负责人:无 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 3.97.2023110504-alpha 已修复。

  • 1***@163.com

    HBuilderX 3.98 版本 真机运行可以,调试报错!

    在下边我贴出报错的地方

    2023-11-30 14:39

DCloud_UNI_FXY

DCloud_UNI_FXY

不用字面量,使用BigInt构造器构造呢

  • Web默默 (作者)

    这个只是举例,我用的第三方库里面几百个地方这么写的,就算能改成构造器,但也不行,因为我肯定也不能去修改库的源代码去实现的。还是希望能修复这个bug

    2023-10-26 14:04

DCloud_UNI_FXY

DCloud_UNI_FXY

预计下个版本修复,编译renderjs时,以build.target为准
目前可以手动修改node_modules/@dcloudio/uni-app-vite/dist/vue/plugins/renderjs.js
transformRenderjs方法中的target

1***@163.com

1***@163.com - yatom

真机上运行不报错,调试就报错。HBuilderX 3.98 版本

小教

小教 - 教上教

更新到3.98 设置target: 'esnext' 后编译报错 [plugin:uni:app-nvue-esbuild] exports is not defined

要回复问题请先登录注册