2016-08-11 97 views
2

我有一個WebView,它使用本地文件require來顯示網頁內容。如何在ReactNative Android的發佈包中包含靜態html?

<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,但它好像不被包含在Android版本捆綁的HTML文件。

我該如何將它添加到包中?

回答

0

這是React Native中的已知問題。

快速解決方法是以不同的方式在iOS和Android中加載內容。 iOS將按照您所描述的方式工作,但對於Android版本,您需要將靜態文件複製到您的本機應用資產文件夾(即android/app/src/main/assets)中,並使用{ uri: 'file:///android_assets/-your-path-' }源加載內容。

查看this post瞭解完整的詳細信息和完整的示例。