反应原生:如何使用dynamicURL的require(path)?

我想使用WebView来显示一些HTML内容

这里是一个例子:

return ( <WebView style={styles.container} source={source} scalesPageToFit={Boolean(true)} onNavigationStateChange={this._onNavigationStateChange} /> ) 

而对于variables我需要有两个不同的值:

1)为Android平台我需要使用这样的东西:

 source = {uri: `file:///android_asset/contents/${languageId}text.html`} 

2)对于ios我需要使用smth。 喜欢这个:

 source = require(`../srv/localization/contents/${languageId}text.html`) 

对于Android它运作良好,但对于IOS不起作用。 而这个url也适用于iOS

 require(`../srv/localization/contents/entext.html`) 

据我所知,这是因为dynamicurl($ {languageId} text.html)

问题是如何使用iOS的dynamicurl?

正如你所发现的,你不能拥有需要的dynamicurl 。 这是因为需要在应用程序启动时获取源代码,而不pipe它在代码中的位置。 您需要所有的{languageId} text.html并将所需的variables传递给源代码:

 var language = { en: require(`../srv/localization/contents/entext.html`) ... } 

并使用它如下:

 source = require(language[en])