react-native - 如何在 React Native Android 的发布包中包含静态 html?

标签 react-native

我有一个 WebView,它使用本地文件 require 来显示网页内容。

  <WebView
    source={ require('./inline_web_view/inline_web_view.html') }
    injectedJavaScript={ scripts }
    scrollEnabled={ this.props.scrollEnabled || false }
    scalesPageToFit={ false }
    style={{
      width: this.state.width,
      height: this.state.height,
    }}
    onNavigationStateChange={ (navState)=> this.onNavigationStateChange(navState) }
  />

这在开发模式下的 ios 和 Android 上完美运行,但是,似乎 HTML 文件未包含在 android 发布包中。

如何将它添加到包中?

最佳答案

这是 React Native 中的一个已知问题。

快速解决方法是在 iOS 和 Android 中以不同的方式加载内容。 iOS 将按照您的描述工作,但对于 Android 版本,您需要将静态文件复制到您的 native 应用程序 Assets 文件夹(即 android/app/src/main/assets)并使用 { uri: ' file:///android_asset/-your-path-' } 来源。

参见 this post获取完整的详细信息和完整的示例。

关于react-native - 如何在 React Native Android 的发布包中包含静态 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38889275/

相关文章:

list - react 原生 Wifi 列表

react-native - React Native - ListView 滚动到嵌套的子引用?

javascript - 如何在一个组件中显示一个或多个详细信息 - React Native?

node.js - 冲突的对等依赖项 : React Native for iOS

android - react native : Cannot find android/app folder

React-Native 需要 airplay 和 chrome cast 功能

javascript - @react-native-google-signin/google-signin/src/GoogleSignin.js 抛出异常 null is not an object(评估 'RNGoogleSignin.SIGN_IN_CANCELLED')

javascript - 错误 [ERR_MODULE_NOT_FOUND] : Cannot find package 'express' imported from F:\Document\My Project\NODE JS\Sample 1\tinder-backend\server. js

react-native - 无效的 native 权限 ios.PERMISSION.CAMERA

javascript - 在 React Native 中使用 FlatList 中的 ref