我有一个 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/