Javascript 反应本机相对映像路径加载

Javascript 反应本机相对映像路径加载,javascript,android,react-native,Javascript,Android,React Native,我试图在我的react原生项目中使用一些图像 我的项目具有以下结构: ./index.android.js ./images/icon.png 我正在尝试在index.android.js中的视图中加载图像: <View> <Image source={require('./images/icon.png')} style={styles.icon} /> </View> 我的图像不

我试图在我的react原生项目中使用一些图像

我的项目具有以下结构:

./index.android.js

./images/icon.png
我正在尝试在index.android.js中的视图中加载图像:

<View>
        <Image
          source={require('./images/icon.png')}
          style={styles.icon}
        />
</View>

我的图像不在该文件夹中。我想这就是问题所在吧?

您正在运行Windows吗?我遇到了完全相同的问题,结果证明是
packager/react packager/src/Bundler/index.js中的一个bug,它与资产URL路径的生成方式有关。它使用
path
模块将本地文件路径转换为URL路径,但是
path
模块返回带有本机路径分隔符的路径。在Windows上,由于路径具有反斜杠而不是斜杠,因此最终会出现无效的URL路径。解决这个问题的一个快速方法是用斜杠替换反斜杠

有关详细信息,请参阅我的拉取请求中的文件diff


更新:我的拉取请求已被接受并在版本0.17中发布

我正在使用windows。我已经手动将您的代码片段添加到我的代码片段中,因为我拥有的文件似乎不同(尽管我非常确定我拥有最新版本的react native),并且如果我复制整个代码片段,我的节点服务器将无法启动。我的图像现在可以加载了。如果我理解正确,拉请求被拒绝是因为什么原因?(只是问,因为我真的很想看到这个修复)@Nirri拉请求仍然是开放的。它通过了一个自动测试,但该测试与我的更改完全无关,并且在最近的其他拉取请求中失败。希望这不会阻碍事情的发展,但我会密切关注它,看看我是否能保持下去。如果你愿意,我建议在我的请求中添加一条评论,确认你有同样的问题,这样他们就知道问题不仅仅是我一个人。我明白了。我留下了评论。谢谢你的帮助。
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in debug mode
 *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",