s***@imagine-cn.com
s***@imagine-cn.com
  • 发布:2022-06-11 11:29
  • 更新:2022-07-27 15:15
  • 阅读:589

HBuilderX3.4.15.20220610版本编译问题

分类:HBuilderX

当我将HBuilderX升级到3.4.15.20220610版本后,使用标准运行基座运行项目时,报给我一个编译错误:reportJSException >>>> exception function:createInstanceContext, exception:JavaScript execute error!Uncaught SyntaxError: Unexpected token ','

于是我用调试模式运行时,发现了报错代码是这一行:

 var proxyUrl = Object({"NODE_ENV":"development","UNI_APP_ID":"__UNI__C2F5C03","UNI_APP_NAME":"Imagine_Works","UNI_PLATFORM":"app-plus","VUE_APP_PLATFORM":"app-plus","UNI_CLOUD_PROVIDER":[],"UNICLOUD_DEBUG":undefined,"RUN_BY_HBUILDERX":true,"UNI_AUTOMATOR_WS_ENDPOINT":undefined,"UNI_STAT_UNI_CLOUD":,"UNI_STAT_DEBUG":})[proxyEnv] || Object({"NODE_ENV":"development","UNI_APP_ID":"__UNI__C2F5C03","UNI_APP_NAME":"Imagine_Works","UNI_PLATFORM":"app-plus","VUE_APP_PLATFORM":"app-plus","UNI_CLOUD_PROVIDER":[],"UNICLOUD_DEBUG":undefined,"RUN_BY_HBUILDERX":true,"UNI_AUTOMATOR_WS_ENDPOINT":undefined,"UNI_STAT_UNI_CLOUD":,"UNI_STAT_DEBUG":})[proxyEnv.toUpperCase()];

这是nvue文件编译之后的JS代码,其中UNI_STAT_UNI_CLOUD和UNI_STAT_DEBUG明显是有问题的,所以我想知道这是我代码造成的问题还是编译器本身有BUG,我初步判断这是编译器造成的问题

2022-06-11 11:29 负责人:DCloud_UNI_HT 分享
已邀请:
phoeniix

phoeniix - Hello World

解决了:
1、在@dcloudio库下全局搜索UNI_STAT_UNI_CLOUD
发现process.env.UNI_STAT_UNI_CLOUD这个值来自uniCloudConfig这个变量


而这个变量通过uniCliShared.getUniStatistic()方法获取。
查看uniCliShared.getUniStatistic方法,发现其与manifest.json下的uniStatistics有关。


2、在manifest.json中的uni统计配置,将“统计版本”勾上,然后勾上“启用APP平台”。
勾完后,在源码视图里面,app-plus节点下就会有uniStatistics的配置,根节点也会有uniStatistics的配置。

uni统计配置

这样proxyUrl里面的UNI_STAT_UNI_CLOUD和UNI_STAT_DEBUG就有值了:{"UNI_STAT_UNI_CLOUD":{},"UNI_STAT_DEBUG":false},就不会报错了。

编译结果

感觉这应该是官方的一个bug,配合axios使用时。

  • gn

    太感谢了

    2022-06-28 13:52

  • d***@cloudglab.com

    牛 确实好了 这个bug应该存在蛮久的了

    2022-06-28 16:00

  • i***@gmail.com

    非常感谢!!!!!!!!!!!!!!!!!!!!

    2022-07-01 11:40

phoeniix

phoeniix - Hello World

我也遇到了这个问题。在nvue页面引用了自己封装的一个api.js里面的函数(使用axios向后台接口请求数据),把这个引用去除就没这个错了。。。。
但是其他vue页面也使用了axios,没有这个问题,就是nvue页面有问题。
我试了,用uni.request做请求就没问题,使用axios+axios-adapter-uniapp做请求有这个问题。

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

这个错误,他是从哪个地方出来的呢

phoeniix

phoeniix - Hello World

应该是nvue页面使用axios的原因,这段proxyUrl的代码在axios库下:lib/adapters/http.js文件,133行。但是具体为什么vue页面使用axios没问题,nvue页面使用有问题这个暂时没弄懂。

Absorbed66c

Absorbed66c - 码农一枚

确实有这个问题 不知道哪个版本才能解决

要回复问题请先登录注册