react-native-webview ios加载本地js、css静态资源

最近用react-native做一个学生学习的app,项目当中需要展示pdf,我是用webview加载一个本地html,然后用pdf.js来渲染pdf的。至于,为什么不用react-native-pdf ,这里不讨论。
用到的静态资源有 jquery.js、pdf.js、pdf.worker.js,都需要在html中用<script src=’…’></scirpt> 标签引用。

以前项目中的做法是
android把资源放在 /android/app/src/main/assets 目录下,ios把资源放到组件的同级目录下即可,然后在项目中引用

const source = Platform.OS === 'ios' ? require('./index.html) : {'uri':'file:///android_asset/pdfView/index.html'}
// pdfView是我存放静态资源的文件夹
// 该文件夹放在/android/app/src/main/assets 目录下
<WebView source={source}/>

这样写没有任何问题,ios和android都能够加载资源,但这次使用的是react-native@0.60.4,react-native-webview@7.4.2,在android下没有任何问题,但在ios下问题就来了。ios下,三个js静态资源无法加载html里面,导致无法执行PDFJS方法,pdf也就不能展示出来。

这种情况我门可以像android一样把静态资源放在ios目录下,然后用baseUrl设置静态资源访问路径就能访问到了,具体做法如下

const html = `<html>
	<head>
		<meta charset="UTF-8">
		<script src="jq.js" type="text/javascript"></script>
		<script src="pdf.js" type="text/javascript"></script>
	</head>
	<body>
		<div>test</div>
	</body>
</html>`
const source = Platform.OS === 'ios' ? {html, baseUrl: 'pdfweb/'} : {'uri':'file:///android_asset/pdfView/index.html'}
<WebView source={source}/>

将资源文件放到pdfView目录下,用xcode将目录导入到项目中,如下
在这里插入图片描述
然后重启项目就ok啦


欢迎各位看官留言讨论,我看到会及时回复!

各位看官,如您觉得这篇博文对您有点用处,打赏几个铜板吧,俺会再接再厉继续努力,若您觉得这篇文章写的太菜,请轻喷,程序猿混口饭吃不容易!!!

支付宝微信
在这里插入图片描述在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值