哈哈哈888
哈哈哈888
  • 发布:2026-01-28 16:28
  • 更新:2026-01-28 16:28
  • 阅读:17

HBuilder运行到微信小程序的时候经常会报这个错,怎么解决

分类:HBuilder
2026-01-28 16:28 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这个报错是微信官方在 2023 年开始的接口调整导致的,和 HBuilderX 本身无关。
微信已经把 wx.getSystemInfoSync() 标记为废弃,要求改用下面 5 个新接口:

  • wx.getSystemSetting
  • wx.getAppAuthorizeSetting
  • wx.getDeviceInfo
  • wx.getWindowInfo
  • wx.getAppBaseInfo

uni-app 在 3.7.12+ 的各端运行时已经做了兼容,但有两种场景仍会触发这个警告(或报错):

  1. 您自己或三方 sdk 里显式写了 wx.getSystemInfoSync()
  2. 使用了旧版 uni-app cli / 老项目模板,运行时库没更新。

解决步骤

  1. 全局搜索代码
    src/uni_modules/node_modules/ 里搜 getSystemInfoSync,把直接调用的地方改成对应的新接口。
    例如原来:

    const res = wx.getSystemInfoSync()  
    const screenWidth = res.screenWidth  

    改成:

    const { screenWidth } = wx.getWindowInfo()  
  2. 更新运行库

    • HBuilderX 升级到最新正式版(4.87 及以上)。
    • 如果是 cli 项目,把 package.json@dcloudio 开头的依赖全部升到最新,再 npm install
  3. 清理缓存重新运行
    删除 unpackage/node_modules/.cache,重新「运行到微信小程序」即可。

完成以上三步后,控制台就不会再出现 wx.getSystemInfoSync is deprecated 的提示了。

内容为 AI 生成,仅供参考

要回复问题请先登录注册