NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.57k stars 4.79k forks source link

Android9 手机上打开Build后的程序白屏 #13186

Closed MarkLogin closed 1 year ago

MarkLogin commented 1 year ago

相关平台

H5

浏览器版本: Android9 内置WebView 使用框架: React

复现步骤

通过 npm run build:h5 编译成功,并放到线上 在iOS 和 电脑浏览器里不会报错,在部分安卓机型下通过Webview打开会报错,显示白屏Android9, 报错信息如下

/chromium: [INFO:CONSOLE(2)] "Uncaught SyntaxError: 'super' keyword unexpected here", source: http://172.17.60.117:8080/pretrapp/chunk/0.js (2) I/chromium: [INFO:CONSOLE(2)] "Uncaught (in promise) Error: ChunkLoadError: Loading chunk 0 failed. (missing: http://172.17.60.117:8080/pretrapp/chunk/0.js)", source: http://172.17.60.117:8080/pretrapp/js/app.js (2)

期望结果

可以正常显示,不白屏

实际结果

白屏

环境信息

taro info

👽 Taro v3.5.3

Taro CLI 3.5.3 environment info:
System:
OS: Windows 10
Binaries:
Node: 16.10.0 - D:\nodejs\node.EXE
Yarn: 1.22.10 - D:\nodejs\npm_path\yarn.CMD
npm: 7.12.0 - D:\nodejs\npm.CMD

补充信息

目前使用的版本是3.4.12 ,这个bug反馈模板仅允许选择3.3.16

ZakaryCode commented 1 year ago

/chromium: [INFO:CONSOLE(2)] "Uncaught SyntaxError: 'super' keyword unexpected here", source: http://172.17.60.117:8080/pretrapp/chunk/0.js (2)

请补充相关信息

同时尝试验证手动修改跳过该错误,是否有其他影响因素;另外请验证该问题在新版本中是否可现。

MarkLogin commented 1 year ago

/chromium: [INFO:CONSOLE(2)] "Uncaught SyntaxError: 'super' keyword unexpected here", source: http://172.17.60.117:8080/pretrapp/chunk/0.js (2)

请补充相关信息

同时尝试验证手动修改跳过该错误,是否有其他影响因素;另外请验证该问题在新版本中是否可现。

http://172.17.60.117:8080/pretrapp/chunk/0.js (2)具体Js https://github.com/MarkLogin/Test/blob/master/README.md

另外使用yarn dev:h5编译出的地址是可以在Android9 上正常打开的,使用taro build --type h5打开白屏

进过验证 :taro框架新建一个项目,引用antd-mobile UI框架引用其中Popup、Swipe、Tabs等组件,build打包后在Android9上运行会必现这个问题

bug复现测试代码仓库 https://gitee.com/YeGuCheng2018/taro-android9-white-screen.git

ZakaryCode commented 1 year ago

可先自行配置 target 尝试修复

MarkLogin commented 1 year ago

可先自行配置 target 尝试修复

修改了target 从Android5 到 Android 7 、 8 、9 、10版本后还是不行

ZakaryCode commented 1 year ago

进过验证 :taro框架新建一个项目,引用antd-mobile UI框架引用其中Popup、Swipe、Tabs等组件,build打包后在Android9上运行会必现这个问题

修改了target 从Android5 到 Android 7 、 8 、9 、10版本后还是不行

可能是对应文件没有加入到 babel-loader 编译,尝试添加 h5.compiler.include 配置试试

hellowuxin commented 1 year ago

3.3.9 的版本也出现这个问题,有解决方案吗? 还是说只能升级到3.6以上的版本?

hellowuxin commented 1 year ago

3.3.9 的版本也出现这个问题,有解决方案吗? 还是说只能升级到3.6以上的版本?

目前通过配置 webpackChain 解决了

LucyHeres commented 1 year ago

3.3.9 的版本也出现这个问题,有解决方案吗? 还是说只能升级到3.6以上的版本?

目前通过配置 webpackChain 解决了

我也遇到了一样的问题,你的webpackChain里面怎么配置的,可以把代码展示出来看下嘛?