2

我有一个使用本地文件require显示 Web 内容的 WebView。

  <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 发布包中。

如何将其添加到捆绑包中?

4

1 回答 1

1

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

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

有关完整的详细信息和完整的示例,请参阅这篇文章。

于 2018-01-29T04:26:03.897 回答