当前位置: 代码网 > it编程>前端脚本>Vue.js > uniapp使用vue3打包H5,android或ios加载白屏

uniapp使用vue3打包H5,android或ios加载白屏

2024年07月28日 Vue.js 我要评论
但是使用Android或者ios进行本地加载白屏;以Android为例子,将打包后的文件夹存放到asset文件夹下,使用webview的loadUrl加载;按照uniapp官方文档介绍,根据步骤创建了使用Vue3的项目;本地安装了http-server,打包之后的dist文件夹,执行http-server后,可以访问;PS:亲测了一下,使用vue2的项目打包成h5,是没有这个问题的;应该是vue3的打包改动引起的;但是调试发现,白屏;按照网上的教程加了一行代码。重新debug调试,可以正常打开了;

前景介绍

        按照uniapp官方文档介绍,根据步骤创建了使用vue3的项目;执行命令npm run build:h5,

本地安装了http-server,打包之后的dist文件夹,执行http-server后,可以访问;

       但是使用android或者ios进行本地加载白屏;以android为例子,将打包后的文件夹存放到asset文件夹下,使用webview的loadurl加载;

 val webview = findviewbyid<webview>(r.id.webview)
 val websettings = webview.settings
 websettings.javascriptenabled = true
 websettings.allowfileaccess = true
 websettings.allowcontentaccess = true
 websettings.domstorageenabled = true
 // 加载本地 html 文件
 val htmlfile = "file:///android_asset/plugin_m1010_01/index.html#pages/index/index" 
// 确保 html 文件在 assets 文件夹中
 webview.loadurl(htmlfile)

但是调试发现,白屏;查看android-studio发现了如下问题

uniapp  access to script at 'file:///android_asset/assets/index-wzlav6yj.js' from origin 'null' has been blocked by cors policy: cross origin requests are only supported for protocol 。。。。。。

大致意思就是跨域了;按照网上的教程加了一行代码

websettings.setallowuniversalaccessfromfileurls(true);

重新debug调试,可以正常打开了;

ps:亲测了一下,使用vue2的项目打包成h5,是没有这个问题的;应该是vue3的打包改动引起的;

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com