收藏
回答

IOS11进入小程序白屏,Unexpected token '...'

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS 11、10 iPhone 8 Plus (GSM+CDMA)<iPhone10;2>、iPhone 7 Plus<iPhone9;2>、iPhone 7<iPhone9;1> 8.0.13

报错信息:Unexpected token '...'. Expected a property name

机型:iPhone 8 Plus (GSM+CDMA)<iPhone10;2>、iPhone 7 Plus<iPhone9;2>、iPhone 7<iPhone9;1>

微信版本:8.0.13


回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2022-08-25

    更新下微信版本试试

    2022-08-25
    有用
    回复 7
    • Schnuffel
      Schnuffel
      2022-08-25
      跟版本没有关系,我来具体跟你描述一下这个问题
      2022-08-25
      回复
    • Schnuffel
      Schnuffel
      2022-08-25
      首先我的项目中的所有会上传的 js 文件里面没有使用到拓展运算符和其他ES6特性,根据小程序 npm 机制描述也不会把 node_modules 的模块进行打包上传,在 miniprogram_npm 里面也没有使用到ES6特性
      2022-08-25
      回复
    • Schnuffel
      Schnuffel
      2022-08-25
      而我在开发工具的编译配置是这样的,这里勾选了JS编译ES5,没有勾选多核心编译
      2022-08-25
      回复
    • Schnuffel
      Schnuffel
      2022-08-25
      但是经过我下载小程序线上源码进行反编译之后,发现其中我的一个分包的 app-service 出现了大量的ES6代码
      2022-08-25
      回复
    • Schnuffel
      Schnuffel
      2022-08-25
      而用户正是因为进入了这个分包的页面,导致这个错误出现并白屏,因为 ios11 以下系统不支持 ES6 很多语法(比如上面报的拓展运算符)
      2022-08-25
      回复
    查看更多(2)
  • Schnuffel
    Schnuffel
    2022-08-25

    已经排查到问题所在了,搞了半天是第三方插件问题(网易七鱼客服系统),如果有人遇到过这个问题,首先进行以下步骤去排查:

    1. 把本地编译后的 js 代码全部搜索一下看看有没有 ES6 语法(如果原生用 ES6 开发并依赖小程序的 ES6 转 ES5 模块,排除这一步),node_modules 可以不用管,直接看 miniprogram_npm 下面的
    2. 如果没有则勾选小程序的 ES6 转 ES5 模块,然后上传到小程序
    3. 如果有问题,则需要去掉一些引入的第三方插件(在 app.json 的 plugins 去掉,它会把插件代码打包到小程序代码中)
    2022-08-25
    有用
    回复 2
    • Schnuffel
      Schnuffel
      2022-08-25
      第三方的插件不是 npm 那种插件,而是微信小程序的插件,如腾讯视频插件、网易七鱼插件
      2022-08-25
      回复
    • Schnuffel
      Schnuffel
      2022-08-25
      这种插件不会被再次编译,有些插件包含 ES6 的语法
      2022-08-25
      回复
登录 后发表内容