首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react-native-webview中使用baseURL?

如何在react-native-webview中使用baseURL?
EN

Stack Overflow用户
提问于 2019-02-13 01:22:09
回答 2查看 4.1K关注 0票数 0

我无法让baseUrl参数在react-native-webview中工作。我的项目结构如下:

代码语言:javascript
复制
root  
---> _tests _  
---> android  
-------> web  
---> ios  
---> node_modules  
---> src  
-------> components  
------------> web  
------------> MyComponent.js  
---> web 

我已经插入了3次web文件夹,如图所示(实际上只需要插入一次,这只是为了测试)。每个“web”文件夹都包含ponies.jpg。然而,React Native并没有接收到任何东西。我只得到了4个损坏的图像与alt (即‘'Ponies')显示。我也尝试过使用baseUrl:'web/‘,但没有效果。以下是MyComponent.js中的代码:

代码语言:javascript
复制
import React from 'react';
import {View, Text, StyleSheet, Image} from "react-native";
import {WebView} from "react-native-webview";

var html = `
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <img src="ponies.jpg" alt="Ponies" height="42" width="42">
    <img src="ponies.jpeg" alt="Ponies" height="42" width="42">
    <img src="./ponies.jpg" alt="Ponies" height="42" width="42">
    <img src="./ponies.jpeg" alt="Ponies" height="42" width="42">
</body>
</html>
`;

export default class MyComponent extends React.Component {

    render() {
        return (
            <View style = {styles.container}>
                <WebView
                    style = {styles.webview}
                    source = {{html: html, baseUrl: 'web/'}}
                />
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        height: 350,
        width: 350
    },
    webview: {
        height: 350,
    }
})

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-02-13 18:09:39

好的,我为android找到了一个解决方案/解决方法:我实际上已经在另一个答案中看到了这一点,但我将稍微扩展一下:

主资产需要是'file:///android_asset/'.

  • You,然后在android文件夹中创建一个目录,即‘/android/
  • /src//baseUrl’(查看此答案了解详细信息,两个文件夹现在是相同的。你放在资源中的任何东西都应该被webview.
    • IMPORTANT看到-然后我不得不重新运行'react-native run-android‘来显示图像。
票数 2
EN

Stack Overflow用户

发布于 2019-02-13 02:08:35

当前,您的web文件夹位于android文件夹中

添加文件夹web并使用此结构:

代码语言:javascript
复制
app/web/ponies.jpg

使用web/作为基本URL。

难题的最后一部分是将web文件夹添加到XCode项目中(在XCode中完成此操作)。否则,web文件夹中的文件不会包含在为ios设备构建的捆绑包中。

注意:其中app是应用程序的根目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54655504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档