当前位置: 首页 > news >正文

react native webview加载本地HTML,解决iOS无法加载成功问题

在react native中使用 “react-native-webview”: “^13.13.5”,加载HTML文件
Android:
将HTML文件放置到android/src/main/assets目录,访问

{uri: 'file:///android_asset/markmap/index.html'}

ios:
在IOS中可以直接可以直接放在react native项目下,访问方式如下

require('../../assets/markmap.html')

这里遇到一个问题是编译出来的HTML文件中带有单独的js和CSS的时候在iOS中无法加载成功,解决方法是用vite-plugin-singlefile将前端项目导出为单独文件,我的vite.config.js配置如下:

import {defineConfig} from 'vite'
import react from '@vitejs/plugin-react'
import {viteSingleFile} from "vite-plugin-singlefile";// https://vitejs.dev/config/
export default defineConfig({plugins: [react(),viteSingleFile()],base: './', // 设置为相对路径})

如果是其他的打包方式也实现同样的功能就行。

完整的代码:

           <WebViewref={webViewRef}source={Platform.OS==='android'?{uri: 'file:///android_asset/markmap/index.html'}:require('../../assets/markmap.html')}style={styles.webView}originWhitelist={['*']}javaScriptEnabled={true}domStorageEnabled={true}allowFileAccess={true}allowFileAccessFromFileURLs={true}allowUniversalAccessFromFileURLs={true}onMessage={handleMessage}/>

相关文章:

  • 【IOS】GCD学习
  • 【RabbitMQ】- Channel和Delivery Tag机制
  • Kafka 的优势是什么?
  • 服务器租用:高防CDN和加速CDN的区别
  • 基于Android的一周穿搭APP的设计与实现 _springboot+vue
  • 项目前置知识——不定参以及设计模式
  • 默认网关 -- 负责转发数据包到其他网络的设备(通常是路由器)
  • Servlet 快速入门
  • 星野录(博客系统)测试报告
  • dvwa6——Insecure CAPTCHA
  • 【C++高并发内存池篇】性能卷王养成记:C++ 定长内存池,让内存分配快到飞起!
  • 腾讯云国际版和国内版账户通用吗?一样吗?为什么?
  • MFC Resource.h 文件详解与修改指南
  • Python+requests+pytest+allure自动化测试框架
  • VsCode 安装 Cline 插件并使用免费模型(例如 DeepSeek)
  • OD 算法题 B卷【矩阵稀疏扫描】
  • React 第五十二节 Router中 useResolvedPath使用详解和注意事项示例
  • C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析
  • 飞牛fnNAS存储模式RAID 5数据恢复
  • 第3篇:数据库路由模块设计与 SQL 路由策略解析
  • 重庆做网站建设公司排名/深圳刚刚突然宣布
  • 中国建设领域专业人员网站/搜狗引擎
  • 金融网站制作/360网址大全
  • 深圳松岗 网站建设/天津关键词优化专家
  • 建网站软件/河北seo平台
  • 武汉专业网站建设推广/人工智能培训班