mrtrying02
mrtrying02
  • 发布:2023-01-13 17:22
  • 更新:2023-01-18 14:24
  • 阅读:814

从微信小程序到分享朋友圈的入口,以单页模式进入小程序,vendor.js会报错

分类:HBuilder

错误信息:
VM1200:9 app.js错误:
TypeError: Cannot read property 'host' of undefined
at Object.<anonymous> (index.js?543d:1269)
at Object.2 (vendor.js:2603)
at webpack_require_ (null:91)
at Object.
(main.js:79)
at
webpack_require__ (null:91)
at checkDeferredModules (null:47)
at Array.webpackJsonpCallback [as push] (null:34)
at main.js:4
at I (WASubContext.js?t=wechat&s=1673600611133&v=2.29.1:1)
at r (WASubContext.js?t=wechat&s=1673600611133&v=2.29.1:1)(env: macOS,mp,1.06.2212011; lib: 2.29.1)

错误代码:

var host = wx.getAppBaseInfo ? wx.getAppBaseInfo().host : wx.getSystemInfoSync().host;

在vendor.js文件中,就不能判断一下wx.getAppBaseInfo()的返回值是否为空吗?
开发者想修复这个小问题,只能每次打包之后手动添加判断逻辑,官方能修一下吗?

2023-01-13 17:22 负责人:DCloud_UNI_WZF 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

HBuilderX 3.6.18 已修复

  • mrtrying02 (作者)

    阔以的,感谢

    2023-02-24 17:45

e***@yeah.net

e***@yeah.net

我也有这个问题

  • mrtrying02 (作者)

    我现在是每次上传代码之前手动改,在vendor.js里面搜索getAppBaseInfo,然后添加一个getAppBaseInfo()的判断就好了


    var host = wx.getAppBaseInfo&&wx.getAppBaseInfo() ? wx.getAppBaseInfo().host : wx.getSystemInfoSync().host;

    2023-01-16 09:27

DCloud_UNI_GSQ

DCloud_UNI_GSQ

可以,马上开始排查和处理

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 创建的项目,在 HBuilderX 目录下执行 npx patch-hbuilderx-plugins 打补丁修复
CLI 创建的项目,在项目下执行 npx @dcloudio/uvm 更新

后续会发布正式更新

  • mrtrying02 (作者)

    执行了还是没好,也重启HBuilderX了,也是没好,依然有问题

    2023-01-16 09:25

  • mrtrying02 (作者)

    建议对微信的单页模式做一下适配或者是在文档上加些说明,限制还挺多的

    2023-01-16 10:18

  • DCloud_UNI_GSQ

    回复 mrtrying02: 执行时是否有打印的日志?

    2023-01-16 11:04

  • mrtrying02 (作者)

    回复 DCloud_UNI_GSQ: 错误信息的log没变,还是这些


    VM292:9 app.js错误:

    TypeError: Cannot read property 'host' of undefined

    at Object.<anonymous> (index.js?543d:1269)

    at Object.2 (vendor.js:2603)

    at webpack_require_ (null:91)

    at Object.
    (main.js:79)

    at
    webpack_require__ (null:91)

    at checkDeferredModules (null:47)

    at Array.webpackJsonpCallback [as push] (null:34)

    at main.js:4

    at I (WASubContext.js?t=wechat&s=1673838500995&v=2.29.1:1)

    at r (WASubContext.js?t=wechat&s=1673838500995&v=2.29.1:1)(env: macOS,mp,1.06.2212011; lib: 2.29.1)

    2023-01-16 11:09

  • mrtrying02 (作者)

    回复 DCloud_UNI_GSQ: 问题应该是单页模式,wx. getAppBaseInfo()是没有返回值的

    2023-01-16 11:10

  • mrtrying02 (作者)

    回复 mrtrying02: 我在编译好的vendor.js里面加上判断就好了

    2023-01-16 11:10

  • DCloud_UNI_GSQ

    回复 mrtrying02: 执行上面的命令后编译的vendor.js会自动修改

    2023-01-16 20:34

  • l***@163.com

    回复 DCloud_UNI_GSQ: HBuilderX Version: 3.6.17.20230112

    Patches download success

    patch-package 6.5.1

    Applying patches...

    @dcloudio/uni-h5@2.0.2-3061720230112001 ✔

    @dcloudio/uni-mp-weixin@2.0.2-3061720230112001 ✔

    @dcloudio/uni-template-compiler@2.0.2-3061720230112001 ✔

    @dcloudio/webpack-uni-pages-loader@2.0.2-3061720230112001 ✔

    Error: spawn node ENOENT

    at ChildProcess._handle.onexit (node:internal/child_process:285:19)

    at onErrorNT (node:internal/child_process:483:16)

    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {

    errno: -4058,

    code: 'ENOENT',

    syscall: 'spawn node',

    path: 'node',

    spawnargs: [

    'C:\Users\Administrator\AppData\Local\npm-cache\_npx\ab8e574058bea07e\node_modules\patch-package\dist\index.js',

    '--patch-dir',

    '..\.patch-hbuilderx-plugins\uniapp-cli-vite'

    ]

    }

    2023-01-17 15:59

  • DCloud_UNI_GSQ

    回复 l***@163.com: 从打印结果看Vue2编译器补丁应用成功,报错的是Vue3的因为没有安装可以忽略。重新编译到小程序试试是不是好了。

    2023-01-17 16:05

  • l***@163.com

    回复 DCloud_UNI_GSQ: ok 没问题

    2023-01-17 16:33

3***@qq.com

3***@qq.com

同样,这次更新后出现这个Bug了,只能如作者的方式手动修改,另外,getSystemInfoSync 得不到 host……

  • DCloud_UNI_GSQ

    执行上面的命令后编译的会自动修改

    2023-01-16 20:34

要回复问题请先登录注册