m0_69163150 2024-03-23 15:32 采纳率: 57.1%
浏览 64

uniapp运行在手机模拟器上时出现“白屏”问题

uniapp运行在手机模拟器上时出现“白屏”问题,报错代码如下:
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'lib' of undefined
我在HBuilderX中引入了lib-flexible+rem来解决移动端适配问题,运行在浏览器上时不会报错,并且可以正常适配(vue2),但是在手机上“白屏”;然后改为vue3后手机上可以显示,但是rem不适用了,不能适配屏幕。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-23 15:32
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个问题的报错信息提示了在创建实例上下文时,出现了白屏问题,可能的原因是无法读取undefined的lib属性。 解决方案如下:
    1. 检查是否正确引入了lib-flexible库,并确认手机模拟器上是否已安装。可以选择通过插件安装的方式,在HBuilderX中安装lib-flexible。
    2. 检查引用的lib-flexible版本是否与uniapp的版本兼容。
    3. 如果使用的是vue2版本,在main.js中加入下列代码,以解决rem单位不适用的问题:
    import '@/common/js/rem.js';
    

    其中,rem.js为下列代码:

    (function (doc, win) { 
        var docEl = doc.documentElement, 
        resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', 
        recalc = function () { 
            var clientWidth = docEl.clientWidth; 
            if (!clientWidth) return; 
                docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'; 
            }; 
            if (!doc.addEventListener) return; 
            win.addEventListener(resizeEvt, recalc, false); 
            doc.addEventListener('DOMContentLoaded', recalc, false); 
        })(document, window);
    
    1. 如果使用的是vue3版本,则可以使用postcss-pxtorem插件解决rem适配问题。 需要在项目中安装postcss-pxtorem,并在vue.config.js中进行配置,如下所示:
    const autoprefixer = require('autoprefixer');
    const pxtorem = require('postcss-pxtorem');
    module.exports = {
        css: {
            loaderOptions: {
                postcss: {
                    plugins: [
                        autoprefixer(),
                        pxtorem({
                            rootValue: 37.5, // 换算的基数,根据设计稿的尺寸来设置,rem基准值。
                            propList: ['*'],
                        })
                    ]
                }
            }
        }
    }
    

    这样就可以使用rem单位进行适配了。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月23日

悬赏问题

  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,