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的打包改动引起的;

相关推荐
2501_9160074720 分钟前
苹果手机iOS应用管理全指南与隐藏功能详解
android·ios·智能手机·小程序·uni-app·iphone·webview
LFly_ice42 分钟前
Nest-管道
android·java·数据库
ab_dg_dp2 小时前
android bugreport 模块源码分析
android
2501_915106323 小时前
全面理解 iOS 帧率,构建从渲染到系统行为的多工具协同流畅度分析体系
android·ios·小程序·https·uni-app·iphone·webview
繁星星繁3 小时前
【Mysql】数据库基础
android·数据库·mysql
李坤林3 小时前
Android 12 中 App 与 SurfaceFlinger(SF)的 Vsync 通信机制
android·surfaceflinger
高远-临客3 小时前
unity IL2CPP模式下中使用UMP插件打包后无法播放视频监控报错问题解决方案
android·unity·音视频
装不满的克莱因瓶4 小时前
Windows下安装Dart
android·flutter·dart·移动端
Yao_YongChao4 小时前
adb wifi连接Android手机
android·adb·智能手机·无线连接手机·wifi连接手机
安果移不动4 小时前
git Cherry-Pick合并分支上的某些commits-》Android studio
android·git·android studio