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

前景介绍

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

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

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

Kotlin 复制代码
 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的打包改动引起的;

相关推荐
booboosui2 小时前
Android 上来电怎么判:7 个条件加 5 个中文词
android
MardaWang2 小时前
App 内嵌 H5 的信任边界设计(ArkWeb/HarmonyOS 实战)
android
石头慢慢说2 小时前
不写 XPath,让 AI 在真机上跑测试:Appium MCP 全流程实战
android
90后的晨仔4 小时前
解决 Android 构建报错:Unable to delete file .../file-map.txt
android·前端
mg6685 小时前
安卓玩机工具----安卓手机变成桌面电脑!多窗口镜像+音频投射+游戏操控,无需 Root
android·智能手机·电脑
peakmain96 小时前
异常处理 - Native 层的崩溃捕获机制及实现 (一)
android·性能优化
码间留白7 小时前
uni-app 鸿蒙离线打包:一个改动从源码到真机要穿过几条链
uni-app·鸿蒙·deveco·离线打包·uts插件
木头左7 小时前
【Android】听写播放器改版:中英文书写速度拆项与「正在读」高亮
android·room·media3·jetpack compose·听写
好的佩奇8 小时前
Dart 之方法、操作符与可调用对象
android·flutter·dart