Taro开发——IOS H5 切换Tab白屏问题排查与处理

411 阅读1分钟

问题描述:

在h5场景下IOS系统,刷新页面之后进入同一个tab页会白屏

问题排查过程:

1.排查自身代码问题,无异常代码

2.ios真机vconsole无法具体页面问题,开发工具无法复现

3.查找taro仓库issue,无相同情况发生

4.怀疑是版本问题,对版本升级与降级,皆有同样情况

5.结合taro官网描述,根据core.js版本不同,引入与否差异,导致代码打包后差异,进行多种情况调试,最后通过修改babel.config.js配置,dynamic-import-node为true的情况,在本地F12能复现此场景

module.exports = {
  presets: [
    [
      "taro",
      {
        framework: "vue3",
        ts: false,
      //  "dynamic-import-node":true,  //添加这一句
      },
    ],
  ],
};

6.经过反复调试排查,发现ios场景,在第一个tabbar页面会缺失样式taro_tabbar_page

const App = createApp({
  onShow(options) {
    setTimeout(() => {
      const element = document.getElementById(`${options.path}?stamp=AA`); 
      //第一个页面的包裹元素
      if (!element) return;
      element.classList.add("taro_tabbar_page");
    }, 1000);
  },
});

7.发布测试,解决